预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共127页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第五章存储管理本章学习目标存储体系概述多级存储2.内存 由存储单元(字节或字)组成的一维连续的地址空间,简称内存空间。用来存放当前正在运行程序的代码及数据,是程序中指令本身地址所指的、亦即程序计数器所指的存储器。 分为: 􀂄系统区:用于存放操作系统 􀂄用户区:用于装入并存放用户程序和数据3.存储管理的目的 1、充分利用内存,为多道程序并发执行提供 存储基础。 2、尽可能方便用户使用。 3、自动装入用户程序。 4、用户程序中不必考虑硬件细节。 5、系统能够解决程序空间比实际内存空间大的 问题。6、程序在执行时可以动态伸缩 7、内存存取速度快 8、存储保护与安全 9、共享与通信 10、了解有关资源的使用状况5.1存储管理的功能5.1.1内存的分配与回收5.1.2地址重定位1.逻辑地址、物理地址和地址映射图5.2作业的名空间、逻辑地址空间和装入后的物理空间2.绝对装入(absoluteloading)3.可重定位装入(relocatableloading)可执行文件在内存中的重定位4.动态装入(dynamicrun-timeloading)图4.3静态地址重定位和动态地址重定位示意图5.1.3存储保护(a)上、下界保(b)基址—限长保护 图4.4界限寄存器的两种存储保护方式5.1.4虚拟存储器虚拟存储技术的核心虚存的形式**引入虚拟存储技术的好处虚拟存储技术的特征5.2分区存储管理分区存储管理的基本原理5.2.1固定分区存储管理图5.5固定式分区内存分配示意图(a)和(b)固定式分区说明表固定分区内存分配方法特点:作业进入内存后,每一个分区内只允 许有一个作业,其占用的分区直到作 业运行结束才收回。5.2.2可变式分区存储管理可变式分区的基本原理图5.6可变式分区内存使用情况示意图空闲分区的组织形式使用分区说明表进行内存分配与回收分区回收: 1)检查回收的分区是否与可用表中的空白块 相邻,如相邻则执行合并算法; 2)修改可用表。合并算法: 1)回收区R与上面空白块F1邻接,合并后仍为空白块F1,首地址不变,修改该块大小; 2)回收区R与下面空白块F2邻接,合并后仍为空白块F2,修改该块首地址和大小; 3)回收区与上、下空白块邻接,则撤消下面空白块F2,保留F1,修改该块大小。空闲分区链表:在每个空闲分区的起始部分开辟出一个单元,存放一个链表指针和该分区的大小,链表指针指向下一个空闲分区。 图5.7空闲分区链表组织形式内存的分配与回收常用的分配算法最佳适应算法: 原理:空白块按容量大小递增的次序链 接,在为作业分配内存空间时总是从最 小的空白块开始,即第一次找到的满足 要求的空白块必是最合适的。图5.8最佳适应算法的空闲分区链表组织形式图5.9最差适应算法的空闲分区链表组织形式图5.10内存使用情况图5.11用三种适应算法处理同一作业序列三种算法的对比可变式分区的地址重定位图5.12采用动态重定位的可变式分区分配算法可重定位式分区存储管理思考题2、设内存空白块数为3,申请内存分配作业数为4,其大小依次为30K,32K,29K,20K请构造一种在动态分区管理中满足WF但不能满足BF的空白块的最低容量大小并说明其理由。6.4.1覆盖(overlay)将程序的必要部分(常用功能)的代码和数据常驻内存; 可选部分(不常用功能)在其他程序模块中实现,平时存放在外存中(覆盖文件),在需要用到时才装入到内存; 不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。(即不同时用的模块可共用一个分区)注:另一种覆盖方法:(100K) A(20K)占一个分区:20K; B(50K)、D(20K)和E(40K)共用一个分区:50K; F(30K)和C(30K)共用一个分区:30K;缺点: 编程时必须划分程序模块和确定程序模块之间的覆盖关系,增加编程复杂度。 从外存装入覆盖文件,以时间延长来换取空间节省。 注意:覆盖技术的对象是一个作业或程序内部的各个模块。6.4.2交换(swapping)原理:暂停执行内存中的进程,将整个进程的地址空间保存到外存的交换区中(换出swapout),而将外存中由阻塞变为就绪的进程的地址空间读入到内存中,并将该进程送到就绪队列(换入swapin)。优点:增加并发运行的程序数目,并且给用户提供适当的响应时间;编写程序时不影响程序结构 缺点:对换入和换出的控制增加处理机的开销;程序整个地址空间都进行传送,没有考虑执行过程中地址访问的统计特性。 覆盖:一个作业的若干程序段共享某一段存储空间。5.4页式存储管理5.4.1页式存储管理的基本原理存储空间管理:把内存空间划分成与页大小相同的页面以存放各进程的页。在页式管理中,用户进程在内存中除了在每个页面内保持地址连续外,在各个页面之间不再连续。5.4.2静态页式管理图5.14纯分页存储