その人よりもその人のことを理解する姿勢を忘れないこと
この記事は自分用の備忘録です。
メモリとは
- データを一時保存する場所
- CPUが直接アクセスして、データを素早く取り出せる記憶装置
- メモリ足りないと動作がとっても遅くなるよ
- 自作PC作る時にうまくささってないことが多いやつ
- 結構勇気いる
仮想メモリとは
- メモリがいっぱいになったとき、データを一時的に保存するために使われる
- 実態はハードディスクだから読み書き速度はメモリよりも遅いので、避難させたデータを使う時はそれなりに重い
- メモリ増設しなくても増やせるやんラッキーは間違いである
仮想メモリのページングアルゴリズム FIFO / LFU / LRU
データ(ページと呼ぶ)をメモリに戻したり(ページイン)仮想メモリに入れたり(ページアウト)するときに、「あまり使われてないページはどれなのか」を判別する方法が3つあるらしい
FIFO (First In First Out)
- 最初にページインしたページを仮想メモリにページアウトさせるよ
LFU (Least Frequently Used)
- 使われた回数が最も少ないページを仮想メモリにページアウトさせるよ
LRU (Least Recently Used)
- 最後に使われてから最も時間が経過しているページを仮想メモリにページアウトさせるよ
例えば
前提
- ハードディスクのページ構成はA,B,C,Dの4ページ
- メモリは3ページ
- プログラムはA→B→B→C→Aときて、次にDが使われる
FIFOの場合
- 最初にページインしたのはAなので、Aが仮想メモリに入って、メモリはDに置き換わる
LFUの場合
- Cが一番使われていないので、Cが仮想メモリに入って、メモリはDに置き換わる
LRUの場合
- 最後に使われてから一番時間が経っているのはBなので、Bが仮想メモリに入って、メモリはDに置き換わる
感想
仮想メモリをいくら増やしても処理が全然軽くならなくて「おかしいなぁ」と謎だったのが今更理解できた
参考

