ソフトウェア

基本情報技術者試験主記憶管理」の問題

テクノロジ系ソフトウェア計算問題難易度:normal
主記憶の容量は1000Kバイトで、うち200KバイトをOSが常駐使用している。残り領域に3つのプロセスが断片的に配置され、それぞれ150K,120K,230Kバイトを使用している。コンパクションを行って空き領域を1か所に集めたとき、確保できる連続空き領域はいくらか。
300Kバイト
500Kバイト
800Kバイト
100Kバイト
正解
300Kバイト

使用中はOSの200Kとプロセス3つの150+120+230=500Kで合計700K。総量1000Kから引くと空きは300Kとなる。コンパクションで散在した空きを1か所に集めるので連続空き領域は300Kバイトとなり正しい。

?選択肢ごとの解説

ア ○使用中はOSの200Kとプロセス3つの150+120+230=500Kで合計700K。総量1000Kから引くと空きは300Kとなる。コンパクションで散在した空きを1か所に集めるので連続空き領域は300Kバイトとなり正しい。
イ ×500Kバイトはプロセスが使う合計(150+120+230)そのものであり、空き領域ではなく使用量を答えてしまった誤りである。
ウ ×800Kバイトは総量1000KからOSの200Kだけを引いた値で、プロセスの使用分500Kを差し引き忘れた誤りである。
エ ×100Kバイトはコンパクション前の最大の単一空き断片を想定した値で、集約後の合計300Kにはならない誤りである。

くわしく

コンパクション(再配置)は使用中の領域を一方へ詰めて散在した空きを連続化する手法で、外部フラグメンテーションを解消する。空きの総量は変わらず、変わるのは連続性である。再配置中はプロセスのアドレス更新が必要でオーバーヘッドが生じる。

本番での押さえどころ

試験のコツ

連続空き = 総容量 − OS常駐 − 全プロセス使用量。コンパクションは『空きを集めるだけで総量は不変』と押さえる。

覚え方

コンパクションは『荷物を片側に寄せて空きスペースをまとめる』引越しのイメージで、空き総量は変わらないと覚える。

よくある誤り

OSの常駐領域を引き忘れて空きを過大に見積もる、または空き総量と最大断片を混同する誤りが多い。

ソフトウェアの他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0223

【基本情報技術者試験】主記憶管理の問題 — 解答・解説|ukamiru 過去問