1、 操作系统原理课程设计操作系统原理课程设计 实践报告实践报告 题 目: 连续存储空间管理仿真实现 姓 名: 学 院: 专 业: 班 级: 学 号: 指导教师: 职称: 教授 2014 年 3 月 10 日 连续存储空间管理仿真实现 摘要:连续分配方式,是指为一个用户程序分配一个连续的内存空间。模拟连续存储空间 固定分区、可变分区、伙伴系统三种分配方法,其中可变分区采用四种适应算法。整个系统 中包括以下功能:查询、分配、回收、退出,并能通过良好的用户界面体现出来,为了深刻 理解操作系统中的内存分配技术, 动态地为进程分配内存空间, 本系统可按照用户分配的作 业自动完成内存管理的模拟演示。 这对深
2、入理解操作系统内存分配原理, 透析作业执行的各 种情况,发现和探究新的更加高效的内存管理方式有重大意义。 关键字:存储空间管理;固定分区;可变分区;伙伴系统;仿真 1 目的及意义 存储器是计算机系统的重要组成部分, 而如何有效地管理存储器对系统地性 能有很大的影响,存储器管理的主要对象是内存。 连续分配方式,是指为一个用户程序分配一个连续的内存空间。这种分配方 式曾被广泛应用于20世纪6070 年代的OS中,它至今仍在内存分配方式中占有 一席之地;又可把连续分配方式进一步分为单一连续分配、固定分区分配、动态 分区分配以及动态重定位分区分配四种方式。 由于在一台计算机中的内存分配过程的不可视性、
3、算法的复杂性、内存情况 的多样性和不确定性,使得算法分析与其它算法间的比较相当困难。用模拟系统 的方法将整个内存的分配使用的过程可视化, 这对深入理解操作系统的存储器管 理,透析算法原理,创新算法具有重要意义。 2 理论基础 2.1 固定分区理论基础 固定分区式分配是最简单的一种可运行多道程序的存储管理方式。这是将内 存用户空间划分为若干个固定大小的区域, 在每个分区中只装入一道作业, 这样, 把用户空间划分为几个分区,便允许有几道作业并发运行。当有一空闲分区时, 便可以再从外存的后备作业队列中选择一个适当大小的作业装入该分区, 当该作 业结束时,又可再从后备作业队列中找出另一作业调入该分区。
4、 1划分分区的方法 分区大小不等。为了克服分区大小相等而缺乏灵活性的这个缺点,可把内存 区划分成含有多个较小的分区、适量的中等分区及少量的大分区。这样,便可根 据程序的大小为之分配适当的分区。 2内存分配 为了便于内存分配,通常将分区按大小进行排队,并为之建立一张分区使用 表,其中各表项包括每个分区的起始地址、大小及状态(是否已分配),见图1所 示。当有一用户程序要装入时,由内存分配程序检索该表,从中找出一个能满足 要求的、尚未分配的分区,将之分配给该程序,然后将该表项中的状态置为“已 分配” ;若未找到大小足够的分区,则拒绝为该用户程序分配内存。1 2.2 可变分区理论基础 动态分区分配是根据进程的实际需要,动态地为之分配内存空间。在实现可 变分区分配时,将涉及到分区分配中所用的数据结构、分区分配算法和分区的分 配与回收操作这样三个问题。