プログラムを実行する際,コンピュータは,ハード・ディスクなどの2次記憶装置からプログラムを主記憶(メモリー)に読み込み,その後,命令を順次解釈しながら実行していきます。プログラムが利用するデータもまた,メモリーを使って読み書きされるのが一般的です。そのため,現在のコンピュータ・システムにおいて,メモリーは最も重要な資源であると言えるでしょう。 今回は,Linuxカーネルがどのようにコンピュータのメモリーを管理し,プロセス間での競合を防止しているかを解説します。 なお,メモリー管理についてはアーキテクチャに依存する部分が多いため,特に明記しない場合は,最もよく利用されるIA-32(i386以降のx86互換プロセッサのアーキテクチャ)プロセッサを基に解説します。 メモリーの構成とアドレス プロセッサとメモリーはバスと呼ばれる配線で接続されています。バスは大きく分けて「アドレス・バス」と「データ
![第4回 プロセス・メモリー管理](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)