作成日 2013/10/27 最終更新日 2013/10/27
応用情報H25春 問18の解説
応用情報H25春 問18の解説をします。
分野:テクノロジ系
大分類:コンピュータシステム
中分類:ソフトウェア
小分類:オペレーティングシステム
ページング方式の仮想記憶において,ページフォールト発生時のオーバヘッドによる1命令当たりの平均遅れ時間を求める式はどれか。
〔記号の説明〕
t: 1回当たりのページフォルト処理時間
f: ページフォルト発生率
m: 1命令当たりの平均主記憶アクセス時間
ア t−f×m イ t×f×m ウ t×f÷m エ t÷f÷m
いくつか方法を示します。
1つの方法で解くのではなく、組み合わせたり、確認のため、他の方法でやってみたりとすると良いでしょう。
◆各項が増えたとき、減ったときにどうなるかを考えて解く
名前をつけないと、説明が面倒なので、「ページフォールト発生時のオーバヘッドによる1命令当たりの平均遅れ時間」をxとします。
t,f,mが増えたとき、あるいは減ったときに、xがどうなるかを考えていきます。
t: 1回当たりのページフォルト処理時間
⇒tが増えた場合:xは増える
⇒tが減った場合:xは減る
⇒ア〜エのすべての選択肢が満たしている
f: ページフォルト発生率
⇒fが増えた場合:xは増える
⇒fが減った場合:xは減る
⇒ア、エはこれを満たさない。
m: 1命令当たりの平均主記憶アクセス時間
時間が増えると(アクセスするデータ量が増えると)、ページフォルトの発生が上がるから、
⇒mが増えた場合:xは増える
⇒mが減った場合:xは減る
⇒ア、ウ、エはこれを満たさない。
よって、答えはイです。
◆ア〜エの式を全微分し、正・負が正しいか考えて解く(注:要大学数学)
先に断っておきますが、やっていることは「各項が増えたとき、減ったときにどうなるかを考えて解く」と全く同じです。
名前をつけないと、説明が面倒なので、「ページフォールト発生時のオーバヘッドによる1命令当たりの平均遅れ時間」をxとします。
例えば、アなら、「x = t−f×m」となりますね。これを全微分します。
ちなみに、全微分なので、
を計算することになります。
すると、
ア:dx = dt - mdf - fdm
イ:dx = fmdt + tmdf + tfdm
ウ:dx = f/m dt + t/m df - tf/m2 dm
エ:dx = 1/f/m dt - t/f2 /m df - t/f/m2 dm
となります。(注:t,f,mはそれぞれ、他には依存しないとしています。)
ここから先は、「各項が増えたとき、減ったときにどうなるかを考えて解く」と同じ様に考えます。(注:t,f,mとも正(0より大きい)数値であるとします。)
t: 1回当たりのページフォルト処理時間
⇒tが増えた場合:xは増える
⇒tが減った場合:xは減る
⇒dtの項が正。⇒ア〜エのすべての選択肢が満たしている
f: ページフォルト発生率
⇒fが増えた場合:xは増える
⇒fが減った場合:xは減る
⇒dfの項は正。⇒ア、エはこれを満たさない。
m: 1命令当たりの平均主記憶アクセス時間
時間が増えると(アクセスするデータ量が増えると)、ページフォルトの発生が上がるから、
⇒mが増えた場合:xは増える
⇒mが減った場合:xは減る
⇒dmの項が正。⇒ア、ウ、エはこれを満たさない。
よって、答えはイです。
◆単位に着目して解く(※お勧めできないです)
「公式を導き出す 」-「1.単位に着目する 」で説明した方法で解いてみます。
単位が問題文では与えられていませんので、説明文から、適当に作ります。
t: 1回当たりのページフォルト処理時間
⇒[秒/回]
f: ページフォルト発生率
⇒確率なので本来単位なしだが。後述します。
m: 1命令当たりの平均主記憶アクセス時間
⇒[秒/命令]
求めたい値:ページフォールト発生時のオーバヘッドによる1命令当たりの平均遅れ時間
⇒[秒/命令]
うん。全く出来ないですね。
「ページフォルト発生率」は本当に確率なのだろうか?
発生率だから、例えば、主記憶アクセス時間の単位時間当たり何回発生するかとかだろう。
その場合は、単位は[回/秒]だろう。
よって、答えはイですが、この方法で解くのはかなり難しく、お勧めできません。
このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方は
メール をお願いします。
Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft
Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS
、Mac OS
X は米国Apple
Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。
このホームページの作成者はこれらの会社とはいっさい関係がありません。