线程结构体task_struct有个TR寄存器,TR寄存器里有个TSS段选择符(TSS全称是任务状态段),TSS段指向的就是TSS结构体里保存着寄存器的状态,当线程切换时,把当前CPU的寄存器状态存进task_struct里指向的TSS结构体,然后TR换入新的TSS段选择符,新的TSS段选择符指向保存切换后的线程寄存器状态的TSS结构体,再然后从新的TSS结构体中把寄存器状态恢复到当前CPU的寄存器里,从而完成线程切换。

线程如何切换上下文(即线程切换)
最新推荐文章于 2025-10-11 01:05:36 发布
线程切换过程中,TR寄存器的TSS段选择符扮演关键角色。它指向TSS结构体,该结构体保存线程的寄存器状态。在切换时,当前线程的寄存器状态被保存到TSS,TR更新为新线程的TSS选择符,随后新线程的寄存器状态从TSS恢复,完成切换。
10万+

被折叠的 条评论
为什么被折叠?



