エンベデッドシステムスペシャリスト 2016年 午前2 問08
問題文
ほとんどのプログラムの大きさがページサイズの半分以下のシステムにおいて、ページサイズを半分にしたときに予想されるものはどれか。ここで、このシステムは主記憶が不足しがちで、多重度やスループットなどはシステム性能の限界で運用しているものとする。
選択肢
ア:ページサイズが小さくなるので、領域管理などのオーバヘッドが減少する。
イ:ページ内に余裕がなくなるので、ページ置換えによってシステム性能が低下する。
ウ:ページ内の無駄な空き領域が減少するので、主記憶不足が緩和される。(正解)
エ:ページフォールトの回数が増加するので、システム性能が低下する。
🔒 解説は解答すると表示されます
ページサイズと内部断片化【午前2解説】
正解の理由
ページング方式では、プログラムをページ単位で主記憶に割り当てます。そのため、プログラムの最後のページに使われない領域が残ることがあり、これを内部断片化といいます。
ページサイズを半分にすると、ほとんどのプログラムは新しいページサイズ以下となり、最後のページに残る無駄な領域が小さくなります。主記憶が不足しがちなシステムでは、この削減によって主記憶をより有効に使えるため、不足が緩和されます。したがって、ウが正解です。
解法ステップ
- ページサイズを小さくすると、ページの最後に残る未使用領域が小さくなりやすいと考えます。
- この問題では、ほとんどのプログラムが元のページサイズの半分以下です。ページサイズを半分にすると、そうしたプログラムの大半が新しいページサイズ内に収まります。
- 主記憶が不足しているため、内部断片化の減少は、主記憶を有効に使える量の増加につながります。
選択肢別の誤答解説
- ア:誤りです。ページサイズを小さくすると、同じ大きさのプログラムを管理するためのページ数が増えます。その結果、ページ表などの管理情報が増えることがあり、領域管理のオーバヘッドが減少するとは限りません。
- イ:誤りです。ページサイズが小さくなったからといって、ページ置換えによって性能が必ず低下するわけではありません。内部断片化が減ることで、主記憶を有効に使える効果もあります。
- ウ:正しいです。ページ内の未使用領域が減少し、主記憶不足の緩和が期待できます。
- エ:誤りです。ページサイズを小さくすると、プログラムを構成するページ数は増えますが、それだけでページフォールトの回数が増えるとは断定できません。ページフォールトの発生は、主記憶の状態やプログラムのアクセスパターンにも左右されます。
よくある誤解
- ページサイズが小さくなるとページ数は増えますが、ページフォールトも必ず増えると考えるのは誤りです。
- ページサイズの縮小には、ページ表などの管理情報が増える可能性もあります。ただし、この問題で問われているのは、主記憶不足に対する内部断片化の減少効果です。
- ページサイズを小さくすれば、あらゆるプログラムで必ず性能が上がるわけではありません。問題の条件に基づいて、どの効果が期待されるかを判断します。
補足コラム
ページング方式では、固定サイズのページを使うため、外部断片化は発生しにくくなります。一方、割り当てたページの一部を使い切れないことによる内部断片化は発生します。ページサイズを小さくすると内部断片化を抑えやすくなりますが、ページ表などの管理コストとの兼ね合いもあります。
FAQ
Q. ページサイズを小さくすると、主記憶を常に効率よく使えますか?
A. 必ずしもそうではありません。内部断片化は減りやすくなりますが、ページ表の増大など別のコストが生じる場合があります。
A. 必ずしもそうではありません。内部断片化は減りやすくなりますが、ページ表の増大など別のコストが生じる場合があります。
Q. ページサイズが小さくなると、ページフォールトの回数は増えますか?
A. 一概にはいえません。プログラムのアクセスパターンや主記憶の利用状況などによって変わります。
A. 一概にはいえません。プログラムのアクセスパターンや主記憶の利用状況などによって変わります。
関連キーワード: ページング方式、ページサイズ、内部断片化、ページフォールト、主記憶管理

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

