mmk*_*mmk 9 x86-64 tss
在x86中,您可以使用TSS在正在运行的进程之间切换任务,但是,建议仅使用一个TSS(如您所愿)并执行软件任务切换,尤其是当您要将内核移植到其他硬件时没有TSS.
在x86-64(64位)中,没有TSS(例如它在x86中没有做任何事情),所以,如果没有它,有人会怎么做任务切换(以前,你会使用至少一个)?
Ada*_*ras 8
您可以像在任何其他平台上那样执行此操作:存储相应寄存器的内容:
对于您正在切换的任务,并为您要切换的任务恢复相同的任务.
通常这是通过将所有状态推送到您正在切换的堆栈上来完成的,并将其从您切换到的堆栈中弹出.这样,只需要堆栈指针传递或由内核管理,以跟踪在后台等待的内容.
chb*_*er0 6
实际上,似乎在64位模式下存在TSS,它只是不用于硬件上下文切换; 相反,它只是用于指定内核的堆栈,如果发生转移到更高权限级别的话.
但是,您仍然必须使用软件上下文切换来更改不同任务之间的控制.
归档时间:
11 年,3 月 前
查看次数:
1120 次
最近记录:
11 年,2 月 前