存储管理的基本原理
内存管理方法
内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。
下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本概念和
原理。
1. 连续分配存储管理方式
连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分区
式储管理两种方式。
(1)单一连续存储管理
在这种管理方式 中,内存被分为两个区域:系统区和用户区。应用程序装入到用户区,可
使用用户区全部空间。其特点是,最简单,适用于单用户、单任务的操作系统。 CP/M 和
DOS 2.0 以下就是采用此种方式。这种方式的最大优点就是易于管理。但也存在着一些问题和
不足之处,例如对要求内存空间少的程序,造成内存浪费;程序全部装 入,使得很少使用的程
序部分也占用—定数量的内存。
(2)分区式存储管理
为了支持多道程序 系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。分
区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的
分区由应用程序使用,每个应用程序占用一个或几个分区。分区式存储管理虽然可以支持并发 ,
但难以进行内存分区的共享。
分区式存储管理引 人了两个新的问题:内碎片和外碎片。前者是占用分区内未被利用的空
间,后者是占用分区之间难以利用的空闲分区(通常是小空闲分区)。为实现分区式存储管 理,
操作系统应维护的数据结构为分区表或分区链表。表中各表项一般包括每个分区的起始地址、
大小及状态(是否已分配)。
分区式存储管理常 采用的一项技术就是内存紧缩(compaction):将各个占用分区向内存一
端移动,然后将各个空闲分区合并成为一个空闲分区。这种技术在提供了某种程 度上的灵活性
的同时,也存在着一些弊端,例如:对占用分区进行内存数据搬移占用 CPU~t 寸间;如果对占
用分区中的程序进行“浮动”,则其重定位需要硬件 支持。
1)固定分区(nxedpartitioning)。
固定式分区的特点 是把内存划分为若干个固定大小的连续分区。分区大小可以相等:这种
作法只适合于多个相同程序的并发执行(处理多个类型相同的对象)。分区大小也可以不等: 有
多个小分区、适量的中等分区以及少量的大分区。根据程序的大小,分配当前空闲的、适当大
小的分区。这种技术的优点在于,易于实现,开销小。缺点主要有两 个:内碎片造成浪费;分
区总数固定,限制了并发执行的程序数目。
2)动态分区(dynamic partitioning)。
动态分区的特点是 动态创建分区:在装入程序时按其初始要求分配,或在其执行过程中通
过系统调用进行分配或改变分区大小。与固定分区相比较其优点是:没有内碎片。但它却引入