Open1

「試して理解 Linuxのしくみ」メモ

ippeiippei

4章メモリ管理システム

仮想記憶

仮想記憶がない場合の不便な点

  • メモリが断片化する
  • マルチプロセスの実現が難しい
  • 不正な領域にアクセスできてしまう

メモリが断片化する

メモリを獲得したり解放したりを繰り返すと、メモリが断片化してしまう
本当は300バイト分のメモリがあるのに、100バイトの領域が3つに分断される
すると、

  • 300バイトをひと塊りとして確保ができない
  • メモリ獲得時に何個の領域に分かれているかを考える必要があるので不便

マルチプロセスの実現が難しい

プロセスAがアドレス300~500にマップされている状態で、同じ実行ファイルでプロセスBを起動させることができない。
これは、実行するプログラムが300から500にマップされるのを前提としているが、プロセスAによって300から500が使われているため。

不正な領域にアクセスできる

カーネルなどの別のプロセスに割り当てられている領域を指定して直接アクセスできてしまう