にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20240615101703

まいにち基本 平成31年春午後問題解説 問2その2

その2なので、昨日のその1を読んでね。

f:id:koharuwest:20190831114239p:plain


午後の問題を少しずつ解説していく連載です。
・赤字は「私ならここに線を引くなぁ」という場所。
・青字は私が考えたことや注釈などです。
皆さんも一緒に問題を読みながら、解答の方法をトレ
ースしてみていただけたら、幸いです。

問2 
仮想記憶方式に関する次の記述を読んで、設問1~3
に答えよ。

 

次の記述中の(  )に入れる適切な答えを、解答群
の中から選べ。ここで、b1とb2、c1とc2に入
れる答えは、それぞれb、cに関する解答群の中から
組合せとして適切なものを選ぶものとする。


ページング方式では、プログラムの実行過程で、実行
必要なデータが物理アドレス空間に存在していない
ときには、ページフォールトという割込みが発生する。


ページフォールトが発生すると、仮想ページに格納さ
れているデータを物理ページに読み込む処理(以下、
ページフォールト割込み処理という)を行う。

〔ページフォールト割込み処理〕
(1)
物理ページのうち、仮想ページと対応付けられていな
い物理ページ(以下、空きページという)を一つ探す。


(2)
空きページがなかった場合、空きページにする
( b1 )ページを一つ選び、その選んだページに
格納されているデータを( b2 )。その後、対応
するページテーブルの要素の存在ビットを0にする。
これによって空きページを確保する。
格納されているデータは消してもいいだろうか?

(3)
空きページがあった場合、又はなかった場合では(2)
の処理後に、その空きページにプログラムの実行に必
要な( c1 )ページに格納されているデータを 
( c2 )。その後、対応するページテーブルの要
素に物理ページ番号を登録して、その存在ビットを1
にする。
ここでは、ページフォルト割り込み処理をしてるので・・・

f:id:koharuwest:20190916180431p:plain

f:id:koharuwest:20190916180600p:plain




設問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 )。

 

f:id:koharuwest:20190916181302p:plain



 


設問2

物理ページの空きを探す・・・とあるので。
物理ページ。そこにあるデータは消えたら困るので。
補助記憶装置へ書き出す。なので、エ。


ここでは仮想ページに格納されているデータを物理
ページに読み込む処理ができることになる。

なので、ア。

設問3
〔仮想ページの参照順〕
4→2→1→5→4→2→3→4→2→1→5→3→5


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回増える。ア。

〔仮想ページの参照順〕
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)423
(6)4ある
(7)2ある
(8)1がない 6回目
(9)これは文句なく5が押し出される
(10)4231
(11)5がない 7回目
(12)3が古いので 4251 
(13)3がない 8回目
(14)4が古いので3251

となるので、8回。エが正解になる。



(次回に続く!)