事例演習3 オブジェクト管理< 課題 >

【 課題1 】#1.2 garbage_memory_collection( )
 空き領域のごみ集め関数は,図2-44に示すように,主記憶領域の空き領域を集めて まとまった空き領域を作る関数である.この関数がもつ手順をNSチャートを用いて 設計し,プログラミングせよ.

【 課題2 】delete_link(curr_addr)
制御語がcurr_addrで指される領域を空き領域管理用リンクから削除する手順を NSチャートを用いて設計し,プログラミングせよ.
(注)リンクの最後の領域を削除するときに注意せよ.

【 課題3 】insert_link(curr_addr, ins_avail_addr)
空き領域管理用リンクにおいて,制御語がcurr_addrで指される領域の手前にins_avail_addrで指される領域を挿入する手順をNSチャートを用いて設計し,プログラミングせよ.

【 課題4 】
図2-47に示すように手動で主記憶領域を要求し,割当てられたオブジェクトテーブルと主記憶領域の状況を示すプログラムのモジュール構造,およびモジュール内の手順を設計し,プログラミングせよ. 詳細な仕様は以下の通りとする.
仕様1 :
「メモリ操作」メニューから"メモリー領域の要求"を選択すると,ダイアログボックスが表示され,要求する領域サイズを入力する.
仕様2 :
するとオブジェクトテーブルにオブジェクトIDが割当てられ,主記憶領域に領域を確保する.確保したオブジェクトIDから主記憶領域へは,ポインティングの線が表示される.
仕様3 :
空き領域と使用中の領域は,異なる色で表示される.
仕様4 :
コントロールキーを押下しながら,オブジェクトテーブルの1つのオブジェクトを選択しクリックすると,そのオブジェクトが解放されると同時に,主記憶領域も解放される. 解放されると,オブジェクトテーブルのオブジェクト,および主記憶領域の色が未使用の色に変わり,主記憶領域へのポインティングが消去される.


図2-47 オブジェクトテーブルおよび主記憶領域の使用状況の3次元表示例


戻る