本来intel设计TSS的初衷是想通过这个段,来实现操作系统中多任务的切换。
但据说使用这个切换任务,会占用很多cpu的时间,并且打破cpu的流水。因而,linux和windows都没有采用tss用作切换任务。
tss还记录着“I/O权限位图”。
另外tss中还记录着0-2环的esp和ss寄存器。当外环(如ring3)进入内环(如ring0)时,会自动加载tss中内环的esp和ss。那为什么tss没有记录ring3的esp和ss呢?这是因为,外环进入内环时,会将这些压入堆栈。当从内环返回外环时,从堆栈中恢复就ok啦。