0
私が知っていることは、マイクロプロセッサは、関数呼び出し時にスタックポインタとリターンアドレスを追跡できるレジスタを持つかもしれないということです。しかし、ヒープはどうですか?誰がヒープポインタを追跡していますか?ヒープ内のメモリ割り当ては実際にはランダムな順序で行われますか?マイクロプロセッサはヒープをどのように追跡していますか?
私が知っていることは、マイクロプロセッサは、関数呼び出し時にスタックポインタとリターンアドレスを追跡できるレジスタを持つかもしれないということです。しかし、ヒープはどうですか?誰がヒープポインタを追跡していますか?ヒープ内のメモリ割り当ては実際にはランダムな順序で行われますか?マイクロプロセッサはヒープをどのように追跡していますか?
プロセッサはではありません。 「ヒープ」と動的割り当ては、オペレーティングシステムの最下位部分にあり、動的割り当てに使用される(おそらく仮想の)メモリマップの一部を単に設定します。
上位レベルでは、プログラムのランタイムサポートライブラリはオペレーティングシステムにメモリを要求します。通常はオペレーティングシステムが要求するプロセスにマップする「ページ」形式で実行されます。プロセスがメモリを必要としているときにページを出してください。
[注:上記の説明が簡略化され、より詳細な説明のための詳細を見つけるためにあなたの好みの検索エンジンを使用する。]