- 主記憶の役割
プログラムはCPUが実行しますが、すべての命令やデータを記憶することができません。そこで命令やデータをCPUがすぐに取り出せる場所においておく必要があります。それが主記憶(メインメモリ)になります。OSとCPUは相互に連携して主記憶を効率よく管理するために様々な方式を利用しています。
- 実記憶(メモリ)管理
CPUが必要な情報の保持
- 区画(パーティション)方式
メモリを区画管理
固定区画方式 |
サイズ固定 |
記憶効率が悪い |
可変区画方式 |
サイズ可変 |
フラグメンテーション
コンパクション |
- 再配置
プログラムやデータを主記憶上の任意の位置に移動
- スワッピング
別のプログラムを実行
※ジョブ単位
- オーバレイ
大きなプログラムの実行
※主記憶に入らない
|
↓(プログラムを分割) |
セグメント(意味のある単位)
※必要に応じてロード(上書き)
|
※現在でもゲーム機などで利用
- 仮想記憶
主記憶の容量以上の記憶領域の提供
※補助記憶(HD)を利用する
動的アドレス変換(DAT)
実アドレス
(主記憶) |
←→ |
仮想(論理)アドレス
(補助記憶) |
- ページング方式(固定長)
プログラムをページ単位で管理
※4〜8KB
※ページフォルト(入れ替え必要)
※スラッシング(頻繁な入れ替え)
- セグメント方式(可変長)
プログラムをセグメント単位で管理
※セグメントは複数ページで構成
※フラグメンテーション発生
- ページ入替方式
FIFO
(First In First Out) |
最も古いもの(キュー) |
LIFO
(Last In First Out) |
最も新しいもの(スタック) |
LRU
(Least Recently Used) |
参照間隔が長い |
LFU
(Least Frequently Used) |
参照回数が少ない |
|