ページング方式の仮想記憶【基本情報技術者・解説】

ページング方式の仮想記憶を用いることによる効果はどれか。

ア)システムダウンから復旧するときに,補助記憶のページを用いることによって,主記憶の内容が再現できる。
イ)処理に必要なページを動的に主記憶に割り当てることによって,主記憶を効率的に使用できる。
ウ)頻繁に使用されるページを仮想記憶に置くことによって,アクセス速度を主記憶へのアクセスよりも速めることができる。
エ)プログラムの大きさに応じて大小のページを使い分けることによって,主記憶を無駄なく使用できる。


おそらくきみが問題文でわからないと思った単語は
「ページング方式」と「仮想記憶」の2つなんじゃないかな。(・ω・*)

簡単に説明するよ。

まずは「仮想記憶」
例えば、きみが何かしらの作業中にメモリが満タンになったとする。
その際、メモリに入らなくなった分のデータを一時的にハードディスク上に移しておいて
必要になった際にまたメモリに読み込むっていうことをパソコンは裏で密かにやってるんだ。
で、そのハードディスク上に一時的においてあるデータ領域を「仮想記憶」って呼ぶんだよ。

でね。
メモリから仮想記憶にデータを移す際、データをまるっと
全部そのまんま移動させるわけじゃないんだよ。
データの中には現在使用中のデータもあるわけだから
使わないデータだけ仮想記憶に移動させておきたいんだよね。(´・ω・
)

だからその際、パソコンはデータを細かく分割してハードディスクに移すんだけど
その時の分割方法として「ページング方式」ってのと「セグメント方式」ってのの
2種類があるってわけなんだ。

「ページング方式」は今回の問題文に出てる方式だね。
「セグメント方式」は今回の問題文には出てないけど、ついでに覚えていっちゃってね。

「セグメント方式」というのは、データをキリのいいところで分割してハードディスク上に保管しておく方法。
「ページング方式」というは、それとは逆でデータのキリの良し悪しに関係なく、とにかく同じ大きさに分割しておく方法。
簡単でしょ。

セグメント方式は”キリの良いところ”で分割する分、データを効率的に使いやすそうだね。
ページング方式は”同じ大きさ”で分割する分、分割が高速で出来そうだね。
どちらも一長一短だよ。(*´・ω・)

だから、今回の問題の答えは(イ)。
「処理に必要なページを動的に主記憶に割り当てることによって,主記憶を効率的に使用できる。」
ちなみにこの「主記憶」ってのはメモリのことだね。
名前がいっぱいあって覚えにくいね。
処理に必要なデータだけをメモリ(主記憶)においておくことで
メモリを最大限活用させることができる画期的な方法なんだよ。


ハズレ解答も見てみよう。

(ア)は、なになに…
「システムダウンから復旧」?
メモリには関係のないことだね。
なぜならメモリのデータってのはいつでも一時的なものだ。(´・ω・)
システムがダウンすると全部消えちゃうからね。

(ウ)は、「仮想記憶に置くことによって、アクセス速度を速める」…?
いやー早まらないよ。(・ω・
*)
仮想記憶においたデータって、結局一度メモリに戻してあげないとCPUは処理できないわけで
早くなるどころか遅くなっちゃうんだよ。
頻繁にアクセスするデータなら、仮想記憶じゃなくてメモリ上に置いておかないとね。

(エ)は、えーっとこれも誤りだね。
なぜならページング処理は”とにかく同じ大きさに分割しておく”という特徴があるからね。
当てはまりません!(`・ω・´)
ちなみに「ページ」ってのはページング処理で分割されたデータ1つ1つをこう呼ぶらしいね。
今初めて知ったや。