修了試験 2015-01-25実施分 基本情報技術者試験 問19
プログラムのモジュール単位に主記憶を割り当てる可変区画方式のコンピュータにおいて,五つのモジュールA~Eを次の順序でロードしたり解放したりする。 最後のモジュールEをロードした時点で,主記憶の空き領域は何か所存在するか。 ここで,主記憶は500kバイトで初期状態では何もロードされていない。 また,モジュールは空き領域の先頭からロードするものとし,その他の条件は考慮しない。 〔ロードと解放の順序〕 Aのロード→Bのロード→Cのロード→Bの解放→Dのロード→Aの解放→Eのロード 〔モジュールの大きさ〕 モジュール|大きさ(kバイト) A|200 B|100 C|150 D|80 E|90
正答1
解説
正解は1です。 可変区画方式では、モジュールの大きさに合わせて主記憶を割り当てます。 本問ではロードは空き領域の先頭から行うので、主記憶の番地を0~500kバイトとして順に配置をたどります。 【計算】 Aのロードで、0~200がAになります。 Bのロードで、200~300がBになります。 Cのロードで、300~450がCになり、450~500の50が空きになります。 Bの解放で、200~300の100が空きになります。 Dのロードで、先頭の空き200~300に80を置き、200~280がDになります。 280~300の20が空きのままです。 Aの解放で、0~200の200が空きになります。 Eのロードで、先頭の空き0~200に90を置き、0~90がEになります。 90~200の110が空きのままです。 最終的な空き領域は、90~200(110)、280~300(20)、450~500(50)の3か所です。 【選択肢別解説】 1:○ 上の手順のとおり、空き領域は110、20、50kバイトの3か所になります。 2:× 4か所にはなりません。 Eは空き領域0~200の先頭に置くので、Eの前に空きはできません。 空きはEとDの間、DとCの間、Cの後ろの3か所です。 3:× 5か所にはなりません。 最後に残るモジュールはE、D、Cの3つだけなので、空き領域は最大でも4か所です。 実際には先頭にEがあるため3か所です。 4:× 6か所にはなりません。 最後の時点で主記憶にあるのはE、D、Cの3モジュールで、その間と末尾に空きができるだけです。 【ポイント】 可変区画方式では、ロードと解放を繰り返すと小さな空き領域が散在するフラグメンテーションが起こります。 番地を数直線で書いて、空き領域を一つずつ確認すると確実に解けます。まとめて解く
修了試験 2015-01-25実施分を通しで解く(80問)→