线程结构体task_struct有个TR寄存器,TR寄存器里有个TSS段选择符(TSS全称是任务状态段),TSS段指向的就是TSS结构体里保存着寄存器的状态,当线程切换时,把当前CPU的寄存器状态存进task_struct里指向的TSS结构体,然后TR换入新的TSS段选择符,新的TSS段选择符指向保存切换后的线程寄存器状态的TSS结构体,再然后从新的TSS结构体中把寄存器状态恢复到当前CPU的寄存器里,从而完成线程切换。
线程如何切换上下文(即线程切换)
最新推荐文章于 2024-05-29 06:30:00 发布