操作系统可变分区C程序模拟操作系统课程设计
(一) 实验目的
1.加深对可变分区的存储管理理解;
2.提高用C 语言编制大型系统程序的能力,特别是掌握C 语言编程的难点:指针和指针作为函数参数;
3.掌握用指针实现链表和在链表上的基本操作。
(二)实验内容
模拟完成内存可变分区的分配,要求采用最佳适应法。
具体包括:首先确定分配内存块管理的数据结构、空闲块的数据结构,然后完成内存分配、内存回收、空闲块管理等程序代码;最后编写模拟分配和回收过程的主函数,上机实验并取得结果数据。
(三)设计方法
最佳适应(Best Fit)算法,它从全部空闲区中找...
操作系统课程
(一) 实验目的
1.加深对可变分区的存储管理理解;
2.提高用C 语言编制大型系统程序的能力,特别是掌握C 语言编程的难点:指针和指针作为函数参数;
3.掌握用指针实现链表和在链表上的基本操作。
(二)实验内容
模拟完成内存可变分区的分配,要求采用最佳适应法。
具体包括:首先确定分配内存块管理的数据结构、空闲块的数据结构,然后完成内存分配、内存回收、空闲块管理等程序代码;最后编写模拟分配和回收过程的主函数,上机实验并取得结果数据。
(三)设计方法
最佳适应(Best Fit)算法,它从全部空闲区中找出能满足作业需求的容量最小的空闲区分配之,此法的着眼点是使碎片尽量小。
空闲分区说明表
…
…
…
…
空表目
—
—
5
空表目
—
—
4
空表目
—
—
3
空闲
212K
300K
2
空闲
60K
32K
1
状态
起址
大小
序号F
已分配分区说明
…
…
…
…
空表目
—
—
5
已分配
92K
120K
4
空表目
—
—
3
已分配
28K
32K
2
已分配
20K
8K
1
状态
起址
大小
序号P
可变分区说明表
F的大小( Xk=新空闲块大小
Loc+Xk=新起始地址
等于
大于
否
否
否
是
是
否
返回序号P
在已分配表中找一个
状态=空表目的序号P
F的大小( Xk?
F 的状态=空表目?
F 已超出最大项号?
申请分配一个xk
大小的分区
=
本次无法分配
置P的大小=Xk
置P的始址=Loc
置P的=已分配
置
置F的状态=空表目
置
Loc(F的起始地址
=
置空闲区号F =1
F=F+1
� EMBED Unknown ���
可变分区的分配算法
F1
返回
置空闲分区F2的大小=Size
始址=Loc
置空闲分区F2的大小
=Size+ F1的大小
请求回收分区R
否
否
是
是
是
否
Size(分区R的大小
Loc(分区的起始地址
已分配区说明表中
置R的状态 = 空表目
Size(Size+ F2的大小
分区R与F2邻接?
在空闲分区表中找一个空闲表目
分区R与F1邻接?
分区R与F1邻接?
在空闲分区表中置F2为空闲表目
置新空闲分区的大小=Size
始址=Loc
状态=空闲
=
� EMBED Unknown ���
可变分区的回收算法
_1354371443.bin
_1354371470.bin
本文档为【操作系统可变分区C程序模拟】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。