TSS描述符

TSS描述符

Content #

和局部描述符表(LDT)一样,也必须在GDT 中安装TSS 的描述符。这样做,一方面是为了对TSS 进行段和特权级的检查;另一方面,也是执行任务切换的需要。当call far 和jmp far 指令的操作数是TSS 描述符选择子时,处理器执行任务切换操作。

TSS 描述符的格式,和 LDT描述符差不多,除了TYPE 位。TSS 描述符中的B 位是“忙”位(Busy)。在任务刚刚创建的时候,它应该为二进制的1001,即,B 位是0,表明任务不忙。当任务开始执行时,或者处于挂起状态(临时被中断执行)时,由处理器固件把B 位置1。

任务是不可重入的。就是说,在多任务环境中,如果一个任务是当前任务,它可以切换到其他任务,但不能从自己切换到自己。在TSS 描述符中设置B 位,并由处理器固件进行管理,可以防止这种情况的发生。

From #

任务状态段TSS的格式