-2
プログラムは、スタック、データ、コード、ヒープの4つの部分に分かれています。スタックとヒープの違いは何ですか?
私はそれらのそれぞれが(Javaで使われているような)データ構造であることを知っていますが、オペレーティングシステムの違いと定義は何ですか?
プログラムは、スタック、データ、コード、ヒープの4つの部分に分かれています。スタックとヒープの違いは何ですか?
私はそれらのそれぞれが(Javaで使われているような)データ構造であることを知っていますが、オペレーティングシステムの違いと定義は何ですか?
プログラムは、スタック、データ、コード、ヒープの4つの部分に分割されています。
これは正確な出発点ではありません。
プログラムは、さまざまな属性を持つプログラムセクションに分割されています。
スタックは、プッシュ操作とポップ操作を使用して割り当てられ解放されたメモリブロックです。通常、割り当てと解放はスタックポインタレジスタを使用して実装されます。
ヒープは、1つまたは複数のメモリブロックで、任意の順序とサイズで割り当ておよび解放できます。オペレーティングシステムは、プログラムヒープのすべてについて知識がありません。これらは、コードにリンクされたライブラリによって管理されます(ただし、オペレーティングシステムには独自のヒープがあります)。オペレーティングシステムは、これらのメモリブロックを単に見るだけです。