第4章 存储管理 第3课时 分区式存储管理《操作系统原理课件(第2版)》 同步教学(电子工业出版社)
2023-08-30
|
18页
|
74人阅读
|
0人下载
普通
内容正文:
操作系统原理(第2版)
分区式存储管理对内存采用连续分配方式,即根据用户程序的需求为其在内存分配一段连续的存储空间。分区式存储管理属于最简单的内存管理方式,主要用于早期的操作系统。
4.3 分区式存储管理
4.3.1 单一连续分区存储管理
1. 实现原理
特点:只适合于单用户单任务操作系统,是一种最简单的存储管理方式。
方法:将内存空间划分为系统区和用户区两部分(见下图)。系统区仅供操作系统使用,通常放在内存的低地址部分,系统区以外的全部内存空间为用户区,提供给用户使用。用户程序由装入程序从用户区的低地址开始装入且只能装入一个程序运行。用户区装入一个程序后,内存中剩余的区域则无法再利用。
4.3 分区式存储管理
单一连续分区存储管理
2. 分配与回收
分配过程是先将待装入内存的程序与用户区进行大小比较,若程序所需内存空间没有超过用户区的大小,则为它分配内存空间;否则内存分配失败。回收操作则是在用户区的程序运行结束后,将该区域标志置为未分配即可。
单一连续分区存储管理
3. 地址转换与存储保护
(1)采用静态重定位方式
单一连续分区存储管理的地址转换多采用静态重定位,即用户程序在装入内存时采用静态重定位方式,一次性对程序中出现的所有访存地址(逻辑地址)进行转换。由于用户程序被装入从界限地址开始的内存区域,因此地址转换工作是对程序中出现的所有访存地址,都以界限地址加访存地址(逻辑地址)所得到的物理地址进行替换。
单一连续分区存储管理
注意:
静态重定位之后,程序中出现的所有访存地址都修改成可以直接访问的内存物理地址,这样,程序就可以直接运行了。但是在程序运行期间,不允许对程序再进行修改,也不允许程序在内存中移动位置,因为这种修改和移动会造成地址改变,使程序无法正常运行。如果对程序进行了修改和移动,就必须重新对程序进行地址重定位。
单一连续分区存储管理
(2)采用动态重定位方式
设置一个重定位寄存器并用它来指明内存中系统区和用户区的地址界限,同时作为用户区的基地址。用户程序由装入程序装入从界限地址开始的内存区域,但这时并不进行地址转换。地址转换要推迟到程序运行中,当所执行的指令含有访存地址(逻辑地址)时,这时硬件地址转换机构就将这个逻辑地址与重定位寄存器中的值(界限地址)相加,得到要访问的物理地址。
单一连续分区存储管理
注意:
采用动态重定位可以任意修改程序以及在内存中移动程序的存放位置(系统同时将程序移动后存放的内存首地址送入重定位寄存器),由于程序中指令里出现访存地址是逻辑地址,且地址转换是在指令执行过程中完成的,因此程序的修改和移动并不对地址转换造成影响。动态重定位的存储保护也很容易实现,即检查该物理地址是否超出允许的区域范围,若超出则产生地址越界错误。
单一连续分区存储管理
4. 单一连续分区管理的优缺点
优点:
① 管理简单,开销小;
② 安全性高,除了系统区外,用户区中只有一个程序,不存在多个程序相互影响的问题;
③ 采用静态重定位方式时不需要硬件支持。
缺点:
① 不支持多用户;
② 程序的地址空间受用户区空间大小的限制,这是因为程序在运行前必须一次性装入内存的连续区域,若程序的地址空间比用户区大则无法装入;
③ 由于一个程序独占系统资源,这样会造成系统资源的严重浪费。
4.3.2 固定分区存储管理
1. 实现原理
将内存系统区之外的用户空间划
分成若干个固定大小的区域,每个区
域称为一个分区并可装入一个用户程
序运行。分区一旦划分完成,就在系
统的整个运行期间保持不变。
每个分区允许装入一道程序运行,
则系统允许在内存中同时装入多道程
序并发执行。
4.3 分区式存储管理
2. 分区划分
在固定分区存储管理方式中,分区的数目和每个分区的大小由系统操作员或操作系统决定。
分区划分方式:
(1)分区大小相等。优点:管理简单,缺点:缺乏灵活性。
例如,若程序过小则会造成内存空间浪费,若程序过大则因其无法装入分区而导致不能运行。
(2)分区大小不等。适量的中分区和较少的大分区。装入程序可以根据用户程序的大小将它装入到适当的分区。
固定分区存储管理
固定分区存储管理
3. 内存空间的分配与回收
(1)数据结构:为了有效管理内存中各分区的分配与使用,系统建立了一张内存分区分配表,用来记录内存中所划分的分区以及各分区的使用情况。
分区分配表的内容包括分区号、起始地址、大小和状态;状态栏的值为0时表示该分区空闲可以装入程序。
固定分区存储管
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。