《操作系统》大作业报告。
题目: 动态分区存储管理
学院理学院
专业信息与计算科学
班级 1201
学号 1130112115
学生姓名王冲
二〇一四年十二月。
一、需求分析、总体设计。
题目:动态分区存储管理。
目的:设计一个动态分区分配的存储管理方案,并模拟实现动态分区的分配和**过程。
内容与要求:
1.基本原理:
动态分区存储管理方式是在作业要求装入主存时,根据作业的大小动态地划分分区,使分区的大小正好适应作业的要求。各分区的大小是不定的,主存中分区的数目也是不定的。
2. 主存空间的分配与**。
(1)采用的数据结构。
为了实现分区分配,系统中必须配置相应的数据结构,用来记录主存的使用情况,包括空闲分区的情况和使用分区的情况,为作业分配主存空间提供依据。为此,设置了两个表,即已分分区表和空闲分区表或自由链;另外,还可以设置系统中的进程请求表。
(2)动态分区时的分配与**。
对于请求表中要求内存长度,从可用表或自由链中找出合适的空闲区。
分配空间区之后,更新可用表或自由链。
进程或作业释放内存资源时,和相邻的空间区进行链合并,更新可用表或自由链。
(3)分配算法。
首次适应算法ff(最先适应法):按照某种次序依次检查各个空闲区,把第一个找到能容纳申请要求的内存区分配给申请者。空闲区按地址顺序从小到大登记。
最佳适应算法bf:要求空闲区按其大小递增的顺序组成空闲区可用表或自由链。把能容纳申请要求的一个最接近尺寸且大于或等于作业大小的分区给申请的作业。
最坏适应算法wf:要求空闲区按其大小递减的顺序组成空闲区可用表或自由链。当用户作业或进程申请一个空闲区时,先检查空闲区可用表或自由链的第一个空闲可用区的大小是否大于或等于所要求的内存长度,若可用表或自由链的第一个项所有空闲区长度小于申请,则失败,否则从空闲区可用表或自由链分配相应的空间给用户,然后修改和调整空闲区可用表或自由链。
3.具体要求。
现有某操作系统采用动态分区存储管理技术, 操作系统在低地址占用了100kb的空间,用户区主存从100kb 开始占用了512kb。 初始时,用户区全部为空闲。现有下列请求序列发生:
job1 req(300kb)
job2 req(100kb)
job1 release(300kb)
job3 req(150kb)
job4 req(50kb)
job5 req(120kb)
job6 req(80k)
job2 release(100kb)
对分区管理的算法可以是下面三种算法之一:
首次适应算法。
最坏适应算法。
最佳适应算法。
任选一种上述算法为作业分配和**内存资源,并编程模拟分配和**过程。程序运行时要显示出每次分配和**后的空闲分区的情况,指出空闲区的首地址和大小;并且显示出内存的占用情况,指出已分配分区的首地址、大小以及由哪个作业占用。
总体分析。二、数据结构的定义及说明、算法思路和处理流程图。
三、详细设计(含源程序及关键**的注解)
四、运行结果与分析。
五、设计体会。
六、参考文献。
操作系统大作业a
一 填空 14分 1 在设备管理中,为了克服独占设备速度较慢 降低设备资源利用率的缺点,引入了虚拟分配技术即用共享设备模拟独占设备。2 常用的内存管理方法有和。3 动态存储分配时,要靠硬件地址变换机构实现重定位。4 在存储管理中常用虚拟存储器方式来摆脱主存容量的限制。5 在页式管理中,页式虚地址与内...
操作系统大作业a
一 填空 14分 1 在设备管理中,为了克服独占设备速度较慢 降低设备资源利用率的缺点,引入了即用共享设备模拟独占设备。2 常用的内存管理方法有和。3 动态存储分配时,要靠硬件地址变换机构实现。4 在存储管理中常用方式来摆脱主存容量的限制。5 在页式管理中,页式虚地址与内存物理地址的映射是由和完成的...
操作系统大作业
学号 091401223 姓名 高玉林 本次上机作业使用的软件是microsoft visual studio community 2017 rc,版本 15.0.26020.0,使用的语言是c 第一题 编写求f x 值的程序。f x f1 x f2 x f3 x f1 x 10 x f2 x 10...