实验二 存储管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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法。

相关文档
最新文档