Operating System Concepts 9章練習問題

恐竜本9章の練習問題を解きました。負担が大きいので今回から問題文と解答の和訳はなしです。ここに書いてある解答は私が最初に考えたものであり、誤答もありますので注意してください。

9.1 ページフォルトはメモリ上にフレームが読み込まれていないページにアクセスした場合に起こる。OSはページフォルトが起こると対応するデータをディスクから読み込んでメモリ上のフレームに入れる。メモリに余裕がなければ何らかの戦略にもとづいてページテーブル上のどれかのエントリーをページアウトさせる。戦略はLRUなど。
9.2 2 a. n回。m>=nの場合に成立。
b. p回。m=1かつp中で毎回読み込むページが異なる場合に成立。

9.3 ページが256byteなのでオフセットは8bit、上4ビットがページ番号。
9EF…上4bitが9、下8bitがEFなので物理アドレスは0EF
111…211
700…メモリ上になし
0FF…メモリ上になし

9.4a. 2 b. 4 c. 1(Belady’s anomalyあり) d. 3?

9.5 ページフォルト時にCPUを介さずディスクからデータを読みに行けるハードが必要。

9.6 a. iを1増やすごとに100要素スキップする。ページサイズが200なので同一ページに2回連続でアクセスする。ページが2個なので、iを4動かすごとにページフォルト。10000要素あるから2500回。
b.ページサイズが200、自由に使えるフレームが2個なので、400要素ごとにページフォルトする。10000要素あるから25回。

9.7 量が多いのでスキップ。LRUは一番新しくアクセスされたものを先頭に持っていくキューを作成し、ページフォルト時はキューの最後尾をページアウト。FIFOは最も前に読み込まれたページをページアウト。Optimalはページフォルトが最小になる順番。

9.8 不可能。

9.9 Optimalの定義次第。

9.10 relocateなし:必要サイズを確保できるまで置き換える。
relocateあり:relocation量が最小になるセグメントを選定する

9.11 a. メモリが小さすぎてプログラムをメモリに乗せるだけでページ置き換えが必要になる。ページ読み込み時間だけでプロセスの持ち時間が終わるのでCPU使用率が低い。
b. CPUバウンドなプロセスが多い。
c. プロセス自体が活動していない

9.12 仮想アドレスと物理アドレスが一致するようにページングを行えばよい。

コメント

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