我正在阅读https://wiki.osdev.org/Task_State_Segment的页面
据我了解,当跳转或调用任务描述符时,它将“自动”切换环和与与该任务描述符链接的相应 TSS 段相对应的寄存器。
但是在切换任务时,比如说ring 3到其他ring 3,寄存器是否会自动保存在实际的TSS中?(加载到 tr 寄存器中)。
因为在这个 osdev 页面(上面的链接)上它说寄存器没有保存,但如果没有保存,任务如何自行更新它的 TSS?这将产生巨大的安全问题。
(我知道硬件切换已经过时,但我仍然想了解它的机制。)