1 / 52
文档名称:

计算机操作系统内存分配实验报告.docx

格式:docx   大小:349KB   页数:52页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机操作系统内存分配实验报告.docx

上传人:shijijielong001 2020/12/10 文件大小:349 KB

下载得到文件列表

计算机操作系统内存分配实验报告.docx

文档介绍

文档介绍:计算机操作系统内存分配实验 报告
一、实验目的
熟悉主存的分配与回收•理解在不同的存储
管理方式下,如何实现主存空间的分配与回收。
掌握动态分区分配方式中的数据结构和分配算 法及动态分区存储管理方式及其实现过程。
二、实验内容和要求
主存的分配和回收的实现是与主存储器的
管理方式有关的。所谓分配,就是解决多道作业 或多进程如何共享主存空间的问题。所谓回收, 就是当作业运行完成时将作业或进程所占的主 存空间归还给系统。
可变分区管理是指在处理作业过程中建立 分区,使分区大小正好适合作业的需求,并且分
区个数是可以调整的。当要装入一个作业时,根 间,若有,则按需要量分割一个分区分配给该作 业;若无,则作业不能装入,作业等待。随着作 业的装入、完成,主存空间被分成许多大大小小 的分区,有的分区被作业占用,而有的分区是空 闲的。
i作业需要的主存量查看是否有足够的空闲空
实验要求使用可变分区存储管理方式,分区
分配中所用的数据结构采用空闲分区表和 空闲分区链来进行,分区分配中所用的算法采用 首次适应算法、最佳适应算法、最差适应算法三 种算法来实现主存的分配与回收。 同时,要求设 计一个实用友好的用户界面,并显示分配与回收 的过程。同时要求设计一个实用友好的用户界面 并显示分配与回收的过程。
三、 实验主要仪器设备和材料
实验环境
硬件环境:PC或兼容机 软件环境:VC++
四、 实验原理及设计分析
某系统采用可变分区存储管理,在系统运行 当然开始,假设初始状态下,可用的内存空间为 640KB存储器区被分为操作系统分区(40KB 和可给用户的空间区(600KB。
(作业1申请130KB 作业2申请60KB 作 业3申请100KB、作业2释放60KB、
作业4申请200KB、作业3释放100KB 作 业1释放130KB、作业5申请140KB、
作业6申请60KB、作业7申请50KB
当作业1进入内存后,分给作业1 (130KB, 随着作业1、2、3的进入,分别分配60KB100KB 经过一段时间的运行后,作业2运行完毕,释放 所占内存。此时,作业 4进入系统,要求分配 200KB内存。作业3、1运行完毕,释放所占内 存。此时又有作业 5申请140KB作业6申请 60KB作业7申请50KB为它们进行主存分配 和回收。
1、采用可变分区存储管理,使用空闲分区链实 现主存分配和回收。
空闲分区链:使用链指针把所有的空闲分区链成 一条链,为了实现对空闲分区的分配和链接, 在 每个分区的起始部分设置状态位、分区的大小和 链接各个分区的前向指针,由状态位指示该分区 是否分配出去了;同时,在分区尾部还设置有一 后向指针,用来链接后面的分区;分区中间部分 是用来存放作业的空闲内存空间,当该分区分配 出去后,状态位就由"0”置为“ 1"。
设置一个内存空闲分区链,内存空间分区通过 空闲分区链来管理,在进行内存分配时,系统优 先使用空闲低端的空间。
设计一个空闲分区说明链,设计一个某时刻主 存空间占用情况表,作为主存当前使用基础。初 始化空间区和已分配区说明链的值, 设计作业申 请队列以及作业完成后释放顺序,实现主存的分 配和回收。要求每次分配和回收后显示出空闲内 存分区链的情况。把空闲区说明链的变化情况以 及各作业的申请、释放情况显示打印出来。
采用可变分区存储管理,分别采用首次适应 算法、最佳适应算法和最坏适应算法实现主存分 配和回收。
3、 主存空间分配
(1) 首次适应算法
在该算法中,把主存中所有空闲区按 其起始地址递增的次序排列。在为作业分 配存储空间时,从上次找到的空闲分区的 下一个空闲分区开始查找,直到找到第一 个能满足要求的空闲区,从中划出与请求 的大小相等的存储空间分配给作业,余下 的空闲区仍留在空闲区链中。
(2) 最佳适应算法
在该算法中,把主存中所有空闲区按 其起始地址递增的次序排列。在为作业分 配存储空间时,从上次找到的空闲分区的 下一个空闲分区开始查找,直到找到一个 能满足要求的空闲区且该空闲区的大小比 其他满足要求的空闲区都小,从中划出与 请求的大小相等的存储空间分配给作业, 余下的空闲区仍留在空闲区链中
(3)最坏适应算法
在该算法中,把主存中所有空闲区按 其起始地址递增的次序排列。在为作业分 配存储空间时,从上次找到的空闲分区的 下一个空闲分区开始查找,直到找到一个 能满足要求的空闲区且该空闲区的大小比 其他满足要求的空闲区都大,从中划出与 请求的大小相等的存储空间分配给作业, 余下的空闲区仍留在空闲区链中。
4、主存空间回收
当一个作业执行完成撤离时,作业所占的 分区应该归还给系统