首次适应调度算法 实验六报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统实验六

首次适应算法实现主存的分配与回收

实验提示:

程序能够按照首次适应算法进行内存的分配、回收、和分区情况显示。

动态分区分配是当要装入一个作业时,根据作业需要的主存量,查看是否有足够的空闲空间,若有,则按需要量分割一部分给作业;若无,则作业等待。分区个数随着内存的使用应该是可以调整的。

要设置空闲分区表和已分配分区表来说明主存空间的空闲占用情况。

每一个分区用起始地址、长度和状态来标识。

首次适应算法按照内存地址递增顺序排列空闲分区。

内存回收时要考虑相邻空闲区合并的问题,主要分4种情况考虑:上相邻、下相邻、上下相邻、不相邻。

实验要求:

实验报告中要给出流程图和源程序,源程序中要附有详细的注释,

给出程序运行时的输入值和运行结果

总结收获或对该题的改进意见和见解。

流程图:

源程序:

运行结果:

总结收获:

在计算机系统中,为了提高内存区的利用率,必须给电脑内存区进行合理的分配。本实验通过对内存区分配方法首次适应算法的使用,来了解内存分配的模式。在熟练掌握计算机分区存储管理方式的原理的基础上,编程模拟实现操作系统的可变分区存储管理的功能,一方面加深对原理的理解,另一方面提高根据已有原理通过编程解决实际问题的能力,为进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。当需要装入一个作业时,根据作业需要的贮存量,查看是否有足够的空闲空间,若有,则按需求量分割一部分给作业;若无,则作业等待。随着作业的装入、完成,主存空间被分割成许多大大小小的分区。有的分区被分配作业占用,有的分区空闲。为了说明哪些分区是空闲的,可以用来装入新作业,必须要有一张空闲区说明表。当有一个新作业要求装入贮存时,必须查空闲区说明表,从中找出一个足够大的空闲区。有时找到的空闲区可能大于作业的需求量,这时应将空闲区一分为二。一个分给作业,另一个仍作为空闲区留在空闲区表中。为了尽量减少由于分割造成的碎片,尽可能分配地地址部分的空闲区,将较大的空闲区留在高地址端,以利于大作业的装入。为此在空闲区表中,按空闲区首地址从低到高进行登记。当一个作业执行完成时,作业所占用的分区应归还给系统。在归还时,要考虑相邻空间区合并问题。

相关文档
最新文档