その2なので、昨日のその1を読んでね。
午後の問題を少しずつ解説していく連載です。
・赤字は「私ならここに線を引くなぁ」という場所。
・青字は私が考えたことや注釈などです。
皆さんも一緒に問題を読みながら、解答の方法をトレ
ースしてみていただけたら、幸いです。
問2
仮想記憶方式に関する次の記述を読んで、設問1~3
に答えよ。
次の記述中の( )に入れる適切な答えを、解答群
の中から選べ。ここで、b1とb2、c1とc2に入
れる答えは、それぞれb、cに関する解答群の中から
組合せとして適切なものを選ぶものとする。
ページング方式では、プログラムの実行過程で、実行
に必要なデータが物理アドレス空間に存在していない
ときには、ページフォールトという割込みが発生する。
ページフォールトが発生すると、仮想ページに格納さ
れているデータを物理ページに読み込む処理(以下、
ページフォールト割込み処理という)を行う。
〔ページフォールト割込み処理〕
(1)
物理ページのうち、仮想ページと対応付けられていな
い物理ページ(以下、空きページという)を一つ探す。
(2)
空きページがなかった場合、空きページにする
( b1 )ページを一つ選び、その選んだページに
格納されているデータを( b2 )。その後、対応
するページテーブルの要素の存在ビットを0にする。
これによって空きページを確保する。
格納されているデータは消してもいいだろうか?
(3)
空きページがあった場合、又はなかった場合では(2)
の処理後に、その空きページにプログラムの実行に必
要な( c1 )ページに格納されているデータを
( c2 )。その後、対応するページテーブルの要
素に物理ページ番号を登録して、その存在ビットを1
にする。
ここでは、ページフォルト割り込み処理をしてるので・・・
設問3
次の記述中の( )に入れる正しい答えを、解答群
の中から選べ。
ページング方式において、ページフォールトの発生回
数を少なくするためには、どの物理ページを空きペー
ジにするかが重要になる。一般的に知られているアル
ゴリズムであるFIFOとLRUについて、あるプロ
グラムの実行過程で仮想ページが次の順で参照される
場合を考える。ここで、プログラムの実行開始時点で
は、このプログラムの実行のために割り当てられた物
理ページは全て空きページである。
〔仮想ページの参照順〕
4→2→1→5→4→2→3→4→2→1→5→3→5
FIFOを用いると、割り当てられた物理ページの個
数が3のときは、ページフォールトの発生回数は9回
である。物理ページの個数が4ならば、物理ページの
個数が3のときと比べて、ページフォールトの発生回
数は( d )。
一方、LRUを用いると、物理ページの個数が3のと
きは、ページフォールトの発生回数は10回である。
物理ページの個数が4ならば、物理ページの個数が3
のときと比べて、ページフォールトの発生回数は
( e )。
設問2
b
物理ページの空きを探す・・・とあるので。
物理ページ。そこにあるデータは消えたら困るので。
補助記憶装置へ書き出す。なので、エ。
c
ここでは仮想ページに格納されているデータを物理
ページに読み込む処理ができることになる。
なので、ア。
設問3
〔仮想ページの参照順〕
4→2→1→5→4→2→3→4→2→1→5→3→5
d
FIFOはところてん方式です。該当するものがなけ
れば、一番先頭が押し出されます。
ページ枠4のとき
(1)4215 4回
(2)4と2はある。
(3)3がない 5回目
(4)2153 4がない 6回目
(5)1534 2がない 7回目
(6)5342 1がない 8回目
(7)3421 5がない 9回目
(8)4215 3がない 10回目
(9)2153 5はあるのでここまで。
よって、ページ枠3の時が9回なら1回増える。ア。
e
〔仮想ページの参照順〕
4→2→1→5→4→2→3→4→2→1→5→3→5
LRUは参照されないいっちゃん古いデータが押し出さ
れます。ページ枠4のとき。
(1)4215 4回
(2)4215 4と2はある。
(3)3がない 5回目
(4)1と5なら、1が古いので押し出す。
(5)4235
(6)4ある
(7)2ある
(8)1がない 6回目
(9)これは文句なく5が押し出される
(10)4231
(11)5がない 7回目
(12)3が古いので 4251
(13)3がない 8回目
(14)4が古いので3251
となるので、8回。エが正解になる。
(次回に続く!)