応用情報技術者 2016年 春期 午前2 問17
問題文
ページング方式の仮想記憶において、あるプログラムを実行したとき,1回のページフォールトの平均処理時間は30ミリ秒であった。ページフォールト発生時の処理時間が次の条件であったとすると、ページアウトを伴わないページインだけの処理の割合は幾らか。
〔ページフォールト発生時の処理時間〕
(1) ページアウトを伴わない場合、ページインの処理時間は20ミリ秒である。
(2) ページアウトを伴う場合、置換えページの選択、ページアウト、ページインの合計処理時間は60ミリ秒である。
選択肢
ア:0.25
イ:0.33
ウ:0.67
エ:0.75(正解)
ページング方式の仮想記憶におけるページフォールト処理時間の割合【午前2 解説】
要点まとめ
- 結論:ページアウトを伴わないページインの割合は0.75(75%)である。
- 根拠:平均処理時間30msは、ページアウトなし20msとページアウトあり60msの加重平均で表されるため、割合を連立方程式で求める。
- 差がつくポイント:平均時間の式を正しく立てて、割合を計算すること。単純な平均や直感で判断しないことが重要。
正解の理由
ページフォールトの平均処理時間は、ページアウトを伴わない場合の処理時間(20ms)とページアウトを伴う場合の処理時間(60ms)の加重平均です。
平均時間30msを用いて、ページアウトなしの割合をとすると、
これを解くと、
よって、ページアウトを伴わないページインの割合は0.75、すなわち選択肢のエが正解です。
平均時間30msを用いて、ページアウトなしの割合をとすると、
これを解くと、
よって、ページアウトを伴わないページインの割合は0.75、すなわち選択肢のエが正解です。
よくある誤解
ページアウトあり・なしの処理時間を単純に平均するだけで計算し、割合を誤ることが多いです。平均処理時間は加重平均であることを忘れてはいけません。
解法ステップ
- ページアウトなしの処理時間をms、ページアウトありの処理時間をmsと設定する。
- ページアウトなしの割合を、ページアウトありの割合をとする。
- 平均処理時間の式を立てる:。
- 方程式を展開し、を求める。
- となり、選択肢のエに該当する。
選択肢別の誤答解説
- ア(0.25):ページアウトなしの割合が低すぎ、平均時間がもっと高くなるため不適切。
- イ(0.33):計算ミスで割合を小さく見積もった結果。
- ウ(0.67):近いが正確な計算結果ではなく、計算過程の誤りが疑われる。
- エ(0.75):正しい計算に基づく正解。
補足コラム
ページング方式の仮想記憶では、ページフォールトが発生すると、必要なページをメモリに読み込む処理が行われます。ページアウトが必要な場合は、置換えページの書き出しも発生し、処理時間が長くなります。平均処理時間の計算は、こうした異なる処理時間の加重平均として求めることが基本です。
FAQ
Q: なぜ単純平均ではなく加重平均を使うのですか?
A: ページアウトあり・なしの発生頻度が異なるため、各処理時間に発生割合を掛けて平均を求める必要があるからです。
A: ページアウトあり・なしの発生頻度が異なるため、各処理時間に発生割合を掛けて平均を求める必要があるからです。
Q: ページアウトを伴う処理時間が長いのはなぜですか?
A: ページアウトはメモリの内容をディスクに書き出すため、I/O処理が増え処理時間が長くなります。
A: ページアウトはメモリの内容をディスクに書き出すため、I/O処理が増え処理時間が長くなります。
関連キーワード: ページング、ページフォールト、仮想記憶、加重平均、メモリ管理

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

