IA32 タスクについて質問があります。
TSS では、1 つのタスクに対して保存できるコンテキストは 1 つだけです。したがって、タスクが呼び出される (ディスパッチされる) と、そのタスクを再帰的 (または再入可能) に呼び出すと、タスクの現在の状態が失われます。
IA 32 でタスクが再入不可である理由がわかりません。タスクを実行していて、実際のタスクの tss セグメント セレクターを使用して jmp far を実行すると、タスクの現在の状態がtss。次に、tss 記述子を検索し、以前に保存された状態を読み込みます。したがって、EIP は次の命令などを指します。この推論のどこが間違っているのでしょうか?
ビジービットがどのように機能するかは理解していますが、同じタスクの呼び出しを禁止する理由はわかりません。ネストされたタスクのチェーンがあり、それ自体を呼び出すと、tss の前のタスク リンクがそれ自体になるため、一種のループが作成されることに気付きました。