~魔法使いへの道~座学編(12)ページフォールト編

魔法使いへの道

はじめに

今後の世界で生き残るために魔法使いを目指して頑張るエンジニアの日記です.

~魔法使い(ウィザード級ハッカー)への道~初心者エンジニアの積み上げ日記
ハッカーの中でも特に優れた上級ハッカーのことをウィザード級ハッカーと言われています.これは魔法使いの意味でコンピュータを自在に操る者とのことでこの名前が付けられています.そこで本企画は初心者が魔法使いになるまでの道のりを綴っていこうと思います.

ページフォールト編

問題

ページング方式の仮想記憶において、あるプログラムを実行したとき、1回のページフォールトの平均処理時間は30ミリ秒であった。ページフォールト発生時の処理時間が次の条件であったとすると、ページアウトを伴わないページインだけの処理の割合は幾らか。

〔ページフォールト発生時の処理時間〕
(1)
ページアウトを伴わない場合、ページインの処理時間は20ミリ秒である。

(2)
ページアウトを伴う場合、置換えページの選択、ページアウト、ページインの合計処理時間は60ミリ秒である。

ア:0.25
イ:0.33
ウ:0.67
エ:0.75

平成30年度秋期午前I問6

TokyoInteractive.情報処理安全確保支援士午前Ⅰ・Ⅱ一問一答問題集2022年度版(p.45).TokyoInteractive.Kindle版.

用語解説

仮想記憶とは

主記憶(DRAM)の容量が不足した際に補助記憶領域(HDDやSSD)の一部を主記憶であるかのように見せかけて,実際の主記憶(メモリサイズ)よりもずっと大きな記憶領域を「仮想的に作り出す」ことです.ここで,主記憶とHDDの両方を管理する方法の1つしてページングという方式がある.

ページングとは

ページングとは、仮想記憶(仮想メモリ)の方式の一つで、メモリ領域をページと呼ばれる一定の大きさの領域に分割し、物理的なアドレス(番地)とは別に仮想的なアドレスを割り当てて管理する方式。

要は,主記憶とHDDのどちらに保存されているかの情報は「ページテーブル」と呼ばれるものに記録されている.
上記の図の例では「A」,「B」,「C」がDRAMに,「D」,「E」がHDDに保存されている.

ページフォルトとは

主記憶(メモリ)上に必要なページがないことを「ページフォールト」と呼びます。ページフォールト状態の場合、メモリから補助記憶へページを追い出すことを「ページアウト」と呼びます。そして、必要なページを補助記憶からメモリに呼び出すことを「ページイン」と呼びます

上記の図の例ではstep1で「D」を参照したページフォルトが発生,HDDから「D」を持ってきたいがDRAMは満員.
そこで,step2で不要になった「A」をページアウトし,step3で「D」をページインさせている.

解説

問題文より,ページインのみの時間t_{in}[ms]は

t_{in} = 20

また,ページアウト,ページインなどの諸々を含めた時間t_{in_out}[ms]は

t_{in_out} = 60

これらの時間の平均が\bar{t}[ms]は30[ms]なので,ページインの割合をxとすると,

t_{in} \times x + t_{in_out} \times (1-x) = 30

よって答えは0.75の「エ」となる

コメント

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