エンベデッドシステムスペシャリスト 2019年 午前2 問09
問題文
ほとんどのプログラムの大きさがページサイズの半分以下のシステムにおいて、ページサイズを半分にしたときに予想されるものはどれか。ここで、このシステムは主記憶が不足しがちで、多重度やスループットなどはシステム性能の限界で運用しているものとする。
選択肢
ア:ページサイズが小さくなるので、領域管理などのオーバヘッドが減少する。
イ:ページ内に余裕がなくなるので、ページ置換えによってシステム性能が低下する。
ウ:ページ内の無駄な空き領域が減少するので、主記憶不足が緩和される。(正解)
エ:ページフォールトの回数が増加するので、システム性能が低下する。
🔒 解説は解答すると表示されます
ページサイズと内部断片化【午前2解説】
正解の理由
ページ単位でメモリを割り当てると、プログラムがページを使い切れない場合、ページ内に未使用領域が生じます。これは内部断片化です。
ほとんどのプログラムが元のページサイズの半分以下であれば、ページサイズを半分にすることで、プログラムに割り当てるページ内の無駄な空き領域が減ります。主記憶が不足しがちな状況では、無駄な領域が減る分、主記憶を有効に使えます。そのため、主記憶不足の緩和が期待できるウが適切です。
解法ステップ
- ページ単位でメモリを割り当てるため、ページの末尾には使われない領域が生じることがあります。
- その無駄な領域は、ページサイズが大きいほど増えやすくなります。
- ページサイズを半分にすると、プログラムの割当てに伴う無駄な空き領域が減少します。
- 主記憶不足の状況では、空き領域の減少により主記憶をより有効に利用できます。
選択肢別の誤答解説
- ア:ページサイズを小さくすると、同じプログラムを格納するために必要なページ数が増えやすくなります。そのため、ページ表の管理などのオーバヘッドは減少するとは限らず、むしろ増加する場合があります。
- イ:ページサイズを小さくしただけで、ページ置換えによる性能低下が必ず起きるわけではありません。ページ置換えの発生は、主記憶に格納できるページ数やプログラムのメモリアクセス状況などにも左右されます。
- ウ:ページ内の未使用領域が減り、主記憶を有効に利用できるため、主記憶不足の緩和が期待できます。
- エ:ページサイズを小さくすると、ページ数が増えることはありますが、ページフォールトの回数が必ず増えるとは限りません。設問の条件では、内部断片化が減ることによる主記憶の有効利用に注目します。
よくある誤解
- ページサイズを小さくすれば、ページフォールトが必ず増えると思い込むことです。ページフォールトの回数は、ページサイズだけで決まるものではありません。
- ページサイズを小さくすれば、あらゆるオーバヘッドが減ると考えることです。ページ数やページ表の管理量が増える可能性もあります。
- ページ内の空き領域と、主記憶全体の空き領域を混同することです。この問題では、ページ内の無駄が減ることが、主記憶の有効利用につながります。
補足コラム
ページサイズの変更には、内部断片化を減らせる一方で、ページ数が増えてページ表の管理量が増えるなどのトレードオフがあります。ページサイズの大小だけで性能を判断するのではなく、設問の条件で特に問題となっている点を見極めることが大切です。
FAQ
Q. 内部断片化とは何ですか?
A. 割り当てられた領域の中に、実際には使われていない空き領域が残ることです。ページ単位の割当てでは、プログラムの大きさがページサイズの倍数でない場合などに発生します。
A. 割り当てられた領域の中に、実際には使われていない空き領域が残ることです。ページ単位の割当てでは、プログラムの大きさがページサイズの倍数でない場合などに発生します。
Q. ページサイズを小さくすれば、常にシステム性能が向上しますか?
A. いいえ。内部断片化は減る一方で、ページ数や管理情報が増える可能性があります。性能への影響はシステムの状況によって異なります。
A. いいえ。内部断片化は減る一方で、ページ数や管理情報が増える可能性があります。性能への影響はシステムの状況によって異なります。
関連キーワード: ページング、ページサイズ、内部断片化、ページフォールト、ページ置換え、ページ表

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

