🐙

仮想メモリ、SWAP

2022/03/10に公開

私は何者か

プロフィール

ITの勉強を始めて1年弱。
オーストラリア在住。現在General AssemblyのSEIコース受講中。
2022年9月ごろから転職活動予定。
趣味はピアノ。
ゆえに特技はキーボードを打つ時に指を異常な角度で打てること(え)

物理メモリ

物理メモリとは
  • コンピュータの3大要素、CPU,メモリ,ストレージのひとつ、メモリ
  • 何かのプログラムを実行するときは、そのプログラムを物理メモリ上に読み込まなければいけない
  • 物理メモリの容量が大きい方がたくさんのプログラムを同時に実行できるので性能が良い
  • つまり、 物理メモリはコンピューターの中に入っている部品の一部


    【別名】
  • メインメモリ
  • 主記憶装置
物理メモリの空きがなくなったら?(∩´﹏`∩)

物理メモリの中で、使っていないプログラムを、仮想メモリ(ハードディスク=HDD)へ退避(移動)する。
そうすると、物理メモリに空きができるから、プログラムを保存できて新しい処理ができるようになる。


仮想メモリ =ハードディスク上に、仮想的なメモリ領域として作成したもの

ページイン・ページアウト

ページアウト

例えば、物理メモリが4GBの場合、いろいろな処理を実行すると、物理メモリにプログラムが保存されていき、 4GBでは足らなくなってくる。
そうなった場合、利用していないページを仮想メモリ(ディスク)へ退避する。
このことをページアウトという。


退避する時はページという小さい単位でデータ退避する。
エクセルのプログラムすべてをまとめて退避するのではなく、 ページ単位で退避!!
データをそのまま大きい単位で移動せずに、ページという小さい単位で移動した方が効率的 Y(·∀·)Y

ページイン

そのデータが必要になったときは、その逆で、仮想メモリから物理メモリへ戻す。
これをページインという。


ページアウトされたページは次回処理が必要になったタイミングページインされて、物理メモリに戻り処理がされる。

ページ選択のアルゴリズム

ページアウトするページをどれにするか選択するためのアルゴリズム(計算方法)には、 FIFOLRULFUがある。

FIFO(フィフォ)
  • ファーストインファーストアウト = 先入れ先出し
  • 最初に物理メモリに入ってきたものを先に出して、後に入ってきたものは先に入ったものより後から出す
LRU
  • Least Recently Usedの略
  • 最も長い時間アクセスがないページをページアウトする方法
LFU
  • Least Frequently Usedの略
  • 最も参照頻度の少ないページをページアウトする方法

スワップイン・スワップアウト

スワップイン・スワップアウト

ページアウトをしても物理メモリが不足している場合、 もっと大きい単位のプログラム単位、物理メモリから仮想メモリへプログラムごと退避する。
これをスワップアウトという。
逆はスワップイン

スラッシング
  • スワップアウトとページインが多発すること
  • 多発するようになると、サーバの処理が重くなってしまう
  • 一般的には、スワップアウトが発生しないようにページアウトを監視しておいて、ページアウトが多数発生する場合はメモリ増強などを検討するのが良いとされる

Discussion