平成20年 秋期 ソフトウェア開発技術者 午前 問26

主記憶割当のアルゴリズムが最初適合(first fit)である可変区画方式において、次の条件で領域を要求した場合、割り当てた後の空き領域のリストはどのようになるか。
ここで、領域の大きさの単位はkバイトである。

[条件]
(1)  現在の空き領域のリストは200、100、160、140、130である。
(2)  要求する大きさは、順に90、130、140、100である。
(3)  要求する大きさを上回る空き領域を確保したときは、余った領域をリストの最後に追加する。
(4)  そのほかの条件は考慮しないものとする。

 ア  100、110、30  イ  130、110、30
 ウ  160、110  エ  200、10、60


答え イ


解説
空き領域リストの最初の状態は

200 100 160 140 130
である。
このリストから最初適合で90の領域の割当てを行うと、先頭の200から割当て、余った110(=200-90)をリストの最後に追加して、
200 100 160 140 130
100 160 140 130 110
である。
次に、最初適合で130の領域の割当てを行うと、先頭の100ではサイズが足りないので、2番目の160から割当て、余った30(=160-130)をリストの最後に追加して、
100 160 140 130 110
100 140 130 110 30
である。
次に、最初適合で140の領域の割当てを行うと、先頭の100ではサイズが足りないので、2番目の140から割当て、
100 140 130 110 30
100 130 110 30
である。
最後に、最初適合で100の領域の割当てを行うと、先頭の100を割当て、
100 130 110 30
130 110 30
である。
したがって、空き領域リストは130、110、30(イ)になる。


キーワード
・メモリ割当て

キーワードの解説
  • メモリ割当て
    プログラムがメモリの確保を要求してきたときにメモリ管理がどの空き領域を割り振るかを決める方法です。
    連結リストで管理を行っているときの、割当て方法としては空き領域リストの先頭から検索するFirst Fit(最初適合)、前回割当てを行ったリストの次の位置から検索するNext Fit、リストの全体をしらべ十分かつ最小な領域を割り当てるBest Fitなどがあります。

もっと、「メモリ割当て」について調べてみよう。

戻る 一覧へ 次へ