申し訳ありませんが、簡単な質問ですが、それはオペレーティングシステムの理論について話すとき、私をいつも混乱させるものです。OSによって呼び出されるすべてのルーチンは、独自の「スタック」を作成しますか?
「スタック」を使ってリエントラントが可能になったと私の本は主張しています - これは「スタック」が1つあり、何とかすべてのルーチン間で共有されているか、スタックのアイデア、およびスタックが作成され、サブルーチンが呼び出されるたびにメインメモリに格納されますか? (それが必要であると仮定して)。
この場合、CPUのスタックポインタはどうなりますか?どちらの場合でも、どのように機能しますか?
私の説明の漠然とした謝罪は、全体のアイデアは私のために矛盾したアイデアに覆われているだけです!
スレッドが別のスレッドを別々に通過し、スレッドがクリティカルセクションにある間にスタックが使用され、プロセスがクリティカルセクションを通過した後にスタックが空になって、次のスレッドで再利用できるようにする必要があります。スレッド/プロセス? :) – user476033
いいえ。セキュリティ上の理由から、各スレッドには独自のシステムスタック(または3つのシステムスタックのセット)があります。 –
OK、私は答えにスタックポインタに関する情報を追加しました。すべての情報は、主にx86/x64およびWindowsに関連しています。 (すべての実装固有です。) –