实验二 存储管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二存储管理
一、实验目的
⒈使学生熟悉存储器管理系统的设计方法;
⒉加深对所学各种存储器管理方案的了解;
二、实验要求
⒈要求采用一些常用的存储器分配算法,设计存储器管理模拟系统并调试运行;
⒉模拟环境应尽量接近真实。
三、实验题目和内容
采用可变分区存储器管理方案的模拟系统。
1.问题描述
该模拟系统的外部特性与真实系统基本一样。存储分配算法采用首次适应法。用“拼接”和“搬家”技术来处理存储器碎片。
2.算法
⒈存储器分配算法采用首次适应法。根据指针查找自由链,当找到第一块可满足分配请
求的空区时便分配之。当某空区被分配后的剩余空间大于规定的碎片最小容量MIN时,则形成一个较小的空区留在自由链中。
⒉回收时,根据MAT将指定分区链入自由链。若该分区有前邻或后邻分区,则将它们拼
接成一块较大的空区。
⒊当某个分配请求不能被满足,但此时系统中所有碎片总容量满足分配请求的容量时,
系统立即进行内存“搬家”以消除碎片。即将各作业占用区集中下移到用户内存区的下部(高地址部分),形成一片连续的作业区,而在用户内存区的上部形成一块较大的空区。
然后再进行分配。
⒋本系统的主要程序模块包括:分配模块ffcolection,回收模块ffcolection,搬家模块
coalesce及命令处理模块menu。menu用以模拟系统的输入,采用“命令菜单”选择和键盘命令输入的会话方式,根据输入请求调用分配模块,或回收模块,或内存查询模块,或最终退出系统。
3.数据结构
⑴.自由链和区头。内存空间采用自由链结构。链首指针FREEP指向,链中各空区按地
址递增次序排列。初启时整个用户内存区为一个大空区。在每个空区首部设置一个区头结构。区头信息包括:
size 空区大小(以字节计),包括区头所占空间;
next 前向链指针,指向下一个空区;
back 反向链指针,指向上一个空区;
address 本空区首地址。
⑵.内存分配表。系统设置一个,每个运行作业都在中占有一个表目,
name 用户作业名;
length 作业区大小;
addr 作业区首地址。
四、实验报告应包括如下内容
⒈按照实验操作顺序写出上机操作操作步骤;
⒉写出程序的设计思路;
⒊画出程序清单(加必要的注释);
⒋给出实验总结。
具体格式见附件
五、思考题
⒈采用最佳适应(BF——Best Fit)或最坏适应(BW——Best Worst)算法,编写可变分区
存贮管理模拟系统。可用任何一种高级语言编写。
提示:采用BF算法时,各空区按从小到大排列;采用BW算法时,各空区则按从大到小排列。
⒉设计一个静态存贮管理模拟系统,并调试运行。
⒊模拟一个支持虚拟存贮的动态分页存贮管理系统。淘汰算法可选用FIFO法或LRU法。