为什么IA 32任务是不可重入的

时间:2016-02-11 19:11:09

标签: x86 task intel tss

我对IA32任务有疑问。

  

TSS只允许为任务保存一个上下文;因此,曾经   一个任务被调用(调度),一个递归(或重入)调用   任务会导致任务的当前状态丢失。

我根本不明白为什么任务在IA 32中是不可重入的。如果你有一个任务正在运行,然后你使用实际任务的tss段选择器做了一个jmp,那么任务的当前状态将是保存在tss中。然后它将搜索tss描述符,并加载先前保存的状态。因此,EIP woulb指向下一条指令等。这个推理有什么问题?

我理解繁忙位是如何工作的,但不是他们禁止调用相同任务的原因。我注意到如果你有一个嵌套任务链,然后一个自己调用,它将创建一种循环,因为tss的前一个任务链接将是它自己。

0 个答案:

没有答案