作成日 2013/10/27
最終更新日 2013/10/27

応用情報H25春 問18の解説

 応用情報H25春 問18の解説をします。


分野:テクノロジ系
大分類:コンピュータシステム
中分類:ソフトウェア
小分類:オペレーティングシステム

1.問題
2.解説


1.問題

 ページング方式の仮想記憶において,ページフォールト発生時のオーバヘッドによる1命令当たりの平均遅れ時間を求める式はどれか。

〔記号の説明〕
 t: 1回当たりのページフォルト処理時間
 f: ページフォルト発生率
 m: 1命令当たりの平均主記憶アクセス時間

ア t−f×m   イ t×f×m   ウ t×f÷m   エ t÷f÷m
このページのトップへ

2.解説

 いくつか方法を示します。
 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 =
∂x

∂t
dt +
∂x

∂f
df +
∂x

∂m
dm
を計算することになります。
 すると、
  ア: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命令当たりの平均遅れ時間
    ⇒[秒/命令]

 うん。全く出来ないですね。

 「ページフォルト発生率」は本当に確率なのだろうか?
 発生率だから、例えば、主記憶アクセス時間の単位時間当たり何回発生するかとかだろう。
 その場合は、単位は[回/秒]だろう。

 よって、答えはイですが、この方法で解くのはかなり難しく、お勧めできません。
Prev Up Next  Top
このページのトップへ


このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方はメールをお願いします。

Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS 、Mac OS X は米国Apple Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。

このホームページの作成者はこれらの会社とはいっさい関係がありません。