ソフトウェア
基本情報技術者試験 科目A免除 修了試験 20130127 実施分 問22
プログラムのモジュール単位に主記憶を割り当てる可変区画方式のコンピュータにおいて,五つのモジュール A~E を次の順序でロードしたり解放したりする。最後のモジュール E をロードした時点で,主記憶の空き領域は何か所存在するか。ここで,主記憶は 500k バイトで初期状態では何もロードされていない。また,モジュールは空き領域の先頭からロードするものとし,その他の条件は考慮しない。
〔ロードと解放の順序〕
A のロード → B のロード → C のロード → B の解放 → D のロード
→ A の解放 → E のロード
〔モジュールの大きさ〕
| モジュール | 大きさ(k バイト) |
|---|---|
| A | 200 |
| B | 100 |
| C | 150 |
| D | 80 |
| E | 90 |
- ア 3
- イ 4
- ウ 5
- エ 6
出典:基本情報技術者試験 科目A免除 修了試験 20130127 実施分 問22
答えと解説を見る
正解:ア
覚える知識
可変区画方式の空き領域数のトレース
可変区画方式では、割当てと解放を繰り返すと空き領域が分散(外部断片化)する。
この問題で必要なこと
A(0-200)、B(200-300)、C(300-450)をロード後、B 解放→D(80)を先頭の空きに配置(200-280)。A 解放後に E(90)を先頭 0-90 に配置すると、空きは 90-200、280-300、450-500 の 3 か所。
ひっかけ
D を B の空きではなく末尾へ置いたり、E を別の空きへ置くと数がずれる。最先頭の空きから順に割り当てる。
この知識の出題:本試験系 0 回・免除試験 2 回(公開問題での観測値)