第4章存储器管理1学习资料

上传人:yuzo****123 文档编号:140278528 上传时间:2020-07-28 格式:PPT 页数:29 大小:163KB
返回 下载 相关 举报
第4章存储器管理1学习资料_第1页
第1页 / 共29页
第4章存储器管理1学习资料_第2页
第2页 / 共29页
第4章存储器管理1学习资料_第3页
第3页 / 共29页
第4章存储器管理1学习资料_第4页
第4页 / 共29页
第4章存储器管理1学习资料_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《第4章存储器管理1学习资料》由会员分享,可在线阅读,更多相关《第4章存储器管理1学习资料(29页珍藏版)》请在金锄头文库上搜索。

1、第4章 存储器管理(内存管理),美国数学家冯诺依曼提出著名的“存储程序控制原理”,CPU不断地从存储器中取出指令和需要的数据,执行指令,并把数据保存到存储器中。,存储器是计算机系统的重要资源, 虽然存储器的容量迅速增加, 但软件的需求也同样在急剧膨胀, 存储器仍然是紧俏资源;虽然存储器的访问速度不断增加,仍然存在着与CPU速度不匹配的矛盾。 存储器管理是操作系统的最重要部分。,4.1 概述4.1.1 存储体系,高速缓存Cache: 数百K到数M字节、非常快速、昂贵、易丢失 内存RAM: 数百M到数G字节、中等速度、中等价格、易丢失 磁盘: 数G到数百G字节、低速、价廉、断电仍保存,4.1.2内

2、存的几个基本概念 内存空间: 是由存储单元(字节或字)组成的连续的地址空间; 内存空间用来存放当前正在运行程序的代码及数据, 是程序计数器所指的存储器。 对内存的要求: 能直接存取, 访问速度尽量快, 应与CPU 取指速度相匹配; 足够大, 能装下保证当前正常运行的程序和数据, 否则CPU执行速度就会受到内存速度和容量的影响而得不到充分发挥。 内存可以分为: 系统区:用于存放操作系统 用户区:用于装入并存放用户程序和数据。,物理地址和逻辑地址: 物理地址指内存单元的地址,也叫绝对地址或实 地址;逻辑地址是在程序中使用的地址,从0开 始编址,逻辑地址也叫相对地址,虚地址。 地址映射(地址变换):

3、 逻辑地址不能直接访问内存单元,必须转换成物理地址,这一转换过程称为地址映射。,4.1.3 存储管理的内容,1. 内存空间的管理(分配与回收) 记录内存的使用情况(内存分配回收的依据) 确定分配算法, 实施内存分配 回收内存 分配方式: 静态与动态,2. 存储共享 内存共享:两个或多个进程共用内存中相同区域 目的:节省内存空间, 提高内存利用率; 实现进程通信(数据共享) 共享内容: 代码 数据 3. 存储保护与安全 为多个程序共享内存提供保障, 使内存中的各道程序只能访问它自己的区域, 避免各道程序间相互干扰, 特别是当一道程序发生错误时,不致于影响其他程序的运行。通常由硬件完成保护功能,

4、由软件辅助实现。,4. 内存“扩充” 通过虚拟存储技术实现 用户在编写程序时,不应该考虑内存的容量,所以要采用一定技术来“扩充”内存的容量,使用户能够使用比实际内存容量大的多的内存空间。 5. 程序的装入 创建进程的第一件事, 就是将程序和数据装入内存。,4.2 程序的装入和链接,对用户程序的处理过程,4.2.1 程序的链接,链接的具体工作:(1)对相对地址进行修改 (2)变换外部调用符号 程序的链接方式 静态链接方式: 装入前进行链接, 将所有模块的相对地址链接起来,形成整个程序的连续的逻辑地址。 装入时动态链接: 边装入、边链接, 各模块独立分开装入内存的不同位置, 便于修改, 便于共享。

5、 运行时动态链接: 边运行、边装入, 有些模块往往不会运行到(如错误处理), 不必装入, 效率高节省内存。,模块B JSR “L+M”; Return;,L L+M-1,模块C Return;,L+M L+M +N-1,绝对装入方式:编译产生的是绝对地址, 按此绝对地 址装入程序和数据。逻辑地址与物理地址完全相 同,不需要任何地址映射。 可重定位装入方式:根据内存当前的情况,把装入 模块装入到合适位置。地址变换在装入时完成,以 后不再改变,叫做静态重定位。 动态运行时装入方式:程序运行过程中, 在内存中的 位置可以改变, 因此边运行, 边装入,叫做动态重定 位。地址变换在运行阶段完成。,4.2

6、.2 程序的装入,地址重定位(地址映射),4.2连续分配方式,单一连续分配,固定分区分配 系统把内存用户区划分为若干分区, 分区大小可以相等, 也可以不等。一个进程占据一个分区。,操作系统,分区1,分区2,分区3,分区4,动态分区分配 内存不是预先划分好的,而是当作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配。若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待。,动态分区的使用情况,(e),(a)已分配区表 (b)未分配区表,1.动态分区分配的数据结构,2. 空闲分区链 (P 108 图 4-5) 将描述分区分配情况的信息附加在分区中。具体地说,是放在每个分区的首尾两个

7、字中。描述信息包括: (1) 状态信息: “0”表示该区空闲, “1”表示已分配。 (2) 该区的大小(以字或块为单位)。 (3) 指针信息: 构成空闲区链。,3.分区分配算法 首次适应算法FF: 空闲分区按地址排序,找到第一个满足请求的分区, 将其分割并分配。特点:简单、快速 循环首次适配算法RFF : 上次找到的空闲区的下一个找起,若最后一个分区还不满足,返回到头部继续找 。特点:空闲分区分布均匀,查找空闲分区更快。 最佳适配算法BF(Best-Fit): 空闲分区按大小排序,找到第一个满足请求的空闲分区。特点: 用最小的空间满足要求。,4.动态分区的实现 1)分配内存,从头开始查表,2)

8、回收内存 P109,P110自学,可重定位分区分配 随着分区不断地分配和回收,内存中会出现许多“碎片”。为了利用这些碎片,可采用“紧凑”的技术把许多分散的小分区(即碎片)拼接成一个可被利用的大分区。这意味着进程在内存中的位置进行了移动(浮动),必须对程序和数据的进行重定位(进行新的地址变换)。,物理地址,重定位寄存器中 的地址,+,相对地址,对换 当内存空间紧张时, 系统将内存中某些进程暂时移到外存, 把外存中某些进程换进内存,使用前者所占用的区域。对换技术是提高内存利用率的有效措施,自60年代初期出现以来,现在已被广泛应用于操作系统中。,对换的单位 进程对换 页面对换(置换) 对换空间的管理 1.外存的划分: 文件区和对换区 2.对换区的管理: 目标提高进程换入换出的速度 方式类似于动态分区的连续分配方式,进程的换出与换入 选择处于阻塞态且优先权最低的进程换出。 选择“就绪”且换出时间最久的进程换入。 连续分配方式的特点 逻辑地址连续,物理地址也连续.,作业:P142 1,2,3,5,6,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号