资 源 简 介
设计一个动态分区式存贮区管理程序, 要求支持不同的放置策略。 如首次、 最佳、 最坏。
说明:
( 1) 分区描述器 rd 如下:
flag size next
要求自由主存队列按链表组织。
主存大小假设为 maxsize( 单位为节=rd 的大小) 。
( 2) 主程序结构如下:
输入放置策略
申请一块内存作为主存
循环处理用户的请求( 包括申请、 释放)
( 3) 数据实例: maxsize=512
J1 申请 162, J2 申请 64, J3 申请 120, J4 申请 86, J1 完成, J3 完成, J5 申请
72, J6 申请 100, J2 完成, J7 申请 36, J8 申请 60, J4 完成, J9 申请 110, J10 申
请 42。 备注:
( a) 所有大小其单位为节( 1 节=rd 的大小)
( b) 作业申请 n 节,实际分配的分区大小应为 n+1 节。 其中一节作为分区描述器,
其他 n 节提供给作业。
( c) 已分配区放在高地址处。
( d)合并时应考虑四种情况: 假设回收区为 r,上邻为 f1 ( f1 需搜索自由主存队列),
下邻为 f2( f2 可直接计算)
A)f1 空闲, f2 已分配;
B)f1 已分配, f2 空闲;
C)f1 空闲, f2 空闲;
D)f1 已分配, f2 已分配;