《操作系统实验 实验2:存储器管理.doc》由会员分享,可在线阅读,更多相关《操作系统实验 实验2:存储器管理.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验报告学院(系)名称:计算机与通信工程学院姓名黄子毅学号专业信息与计算科学班级2011级2班实验项目实验二:存储器的分配与回收算法实现课程名称操作系统课程代码实验时间2013-11-27 3-4节2013-11-29 7-8节2013-12-4 3-4节 2013-12-6 7-8节实验地点主校区7-215批改意见成绩教师签字: 实验内容:1 本实验是模拟操作系统的主存分配,运用可变分区的存储管理算法设计主存分配和回收程序,并不实际启动装入作业。2 采用最先适应法、最佳适应法、最坏适应法分配主存空间。3 当一个新作业要求装入主存时,必须查空闲区表,从中找出一个足够大的空闲区。若找到的空闲区大
2、于作业需要量,这是应把它分成二部分,一部分为占用区,加一部分又成为一个空闲区。4 当一个作业撤离时,归还的区域如果与其他空闲区相邻,则应合并成一个较大的空闲区,登在空闲区表中。5 设计的模拟系统中,进程数不小于5,进程调度方式可以采用实验一中的任何一种。6 运行所设计的程序,输出有关数据结构表项的变化和内存的当前状态。实验要求:1 详细描述实验设计思想、程序结构及各模块设计思路;2 详细描述程序所用数据结构及算法;3 明确给出测试用例和实验结果;4 为增加程序可读性,在程序中进行适当注释说明;5 认真进行实验总结,包括:设计中遇到的问题、解决方法与收获等;6 实验报告撰写要求结构清晰、描述准确
3、逻辑性强;7 实验过程中,同学之间可以进行讨论互相提高,但绝对禁止抄袭。【实验过程记录(源程序、测试用例、测试结果及心得体会等)】l 截图网页版:输入数据:和实验1一样,多了一个占用空间输入单元总大小,并选择算法:分为最优、最差、最优,图为执行过程。最差方法的图片l 方法根据总大小分别生成占用数组和闲置数组最先:循环闲置数组直到找到第一个满足条件的,插入。如图,遍历结果数组,根据记录的进行操作的数据下表,找出其占用空间的大小。如果此时的操作是占用空间(执行),判断这个操作之前是否已经占用过空间,如果占用过了空间,则用上一个过程覆盖此时的过程(这个过程存储器没有变化)如果闲置数组不为空(内存未占
4、满),遍历空闲数组,第一个找到的空闲区域,如果大小比需求的大,则将起始位置修改为占用后的,如果相等则删除这个空闲区域,否则报错。取出操作:遍历空闲数组,找到最接近占用数组位置的闲置区域,在这个区域前面插入一个数组,分别是这个占用数组的开始和结尾,同时删除这个取出的占用数组,并从小到大排序空闲数组。循环空闲数组,并把把能合并的区域合并上。把这一步操作记录到全部状态记录中。操作结束。最差:倒序排列闲置数组,找到第一个满足条件的插入。和最先唯一不同是:插入过程中,定义一个临时数组,从小到大排序,找到第一个满足条件的便是此时的最优解。取出过程没有任何改动。最优:正序排列闲置数组,找到第一个满足条件的插入。和最先唯一不同是:插入过程中,定义一个临时数组,从大到小排序,找到第一个满足条件的便是此时空间最大的解。取出过程没有任何改动。l 核心代码(php)这个是最先。最优和最差就是多了一个排序(sort/rsort)不重复截图了。