0

我有一个关于 IA32 任务的问题。

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

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

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

4

0 回答 0