AP試験。仮想記憶方式について

徒然草2.0

仮想記憶方式って言われてもピンとこないよな。

仮想記憶方式って?

仮想記憶方式…メモリ(主記憶装置)の容量が足りない時に補助記憶装置(HDDなど)にデータを保存する仕組みのことを指しているのだと思う。

LRUアルゴリズムって?

LRUアルゴリズム…(メモリ上に)使われてからもっとも長い時間あるデータを置き換えるアルゴリズムのこと(LRU = Last Request Used)

インデックス方式って?

インデックス(データの一部)をメモリに展開する方式の1つ。すべてのデータ(テーブルデータ)をメモリ上に展開しておく必要がなくなる=メモリの利用が少なくなる。

ページング方式って?

ページング方式とはメモリ容量が足りない時に補助記憶装置(HDDなどのストレージ)にデータを退避する仕組みのことを指す。

ページフォールトとは?

仮想記憶方式におけるページングが発生しており、データがメモリに見つからなかったときの割り込みや例外を指す。プログラミングの処理スピードが落ちるので、あまり好ましくない状態である。

ページイン/ページアウトとは?

ページイン

ストレージからメモリにデータを取り込む操作のこと。

ページアウト

メモリからストレージにデータを対比させる操作のこと

まとめ

「ページフォールトが発生した時にガベージコレクションが必要か?」という情報技術試験の問題があるが「不要」である…というよりガベージコレクションはプログラムが使用しなくなった領域(ゴミ=ガベージ)を捨てることを意味するので、ページング方式とは無関係の仕組みのことを言っている。いわゆる無知な人をひっかける問題なんだと思われる。

※「ページングが発生するたびにフラグメンテーション(メモリの断片化)が発生するか?」という情報技術試験の問題があったが「発生しない」というよりページング方式は固定長であるため、そもそもフラグメンテーションは発生しない。これを言い換えると可変長のデータ保存が行われるので、フラグメンテーションが発生する。

ポイント

ページングによる再配置されたデータは固定長である。

試験的に言えば…仮想記憶におけるページング方式は、ガベージコレクションやフラグメンテーションという言葉(ワード)とは無関係。

コメント

タイトルとURLをコピーしました