复习4存储器管理.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
✓ 优点:存在页内碎片,但碎片相对较小,内存利用率教 高;实现了离散分配,消除了程序浮动;便于存储访问 控制,有利于代码共享;无外部碎片。
✓ 缺点:需要专门的硬件支持,尤其是快表;内存访问的 效率下降;不支持动态链接,不能实现真正的共享;有 内部碎片
非连续分配方式
页面置换算法
页面分配策略
➢ 物理块的分配策略
✓ 固定分配局部置换 ✓ 可变分配全局置换 ✓ 可变分配局部置换
➢ 页面调入策略
✓ 请求调页策略 ✓ 预调页策略
缺页率
➢ 页面置换算法:其优 略影响缺页中断次数
连续分配方式
可变分区分配
➢ 数据结构:空闲分区表、空闲分区链 ➢ 分配算法:
(2)循环首次适应 ✓ 优点:使内存空闲分区分布均匀,减少查找开销,无内
部碎片 ✓ 缺点:会导致缺乏大的空闲分区,有外部碎片 ✓ 要求:空闲分区表或空闲分区链按地址从低到高排列
连续分配方式
可变分区分配
➢ 数据结构:空闲分区表、空闲分区链 ➢ 分配算法:
内存管理概念
2.应用程序的处理过程
➢ 用户先编辑好应用程序,通过相关语言的编译程序 将其编译成若干个目标模块,再通过链接程序将编 译后的目标模块以及它们所需要的库函数链接在一 起,形成一个完整的装入模块,最后通过装入程序 将它们装入内存进行运行。
内存管理概念
➢ 程序的链接方式:
✓ 静态链接:在程序运行之前,先把各个目标模块及它们 所需要的库函数链接成一个完整的可执行程序,以后不 再拆开。
交换与覆盖
覆盖(Overlay)技术
➢ 覆盖管理技术就是把一个大的程序划分为一系列覆 盖,每个覆盖就是一个相对独立的程序单位Байду номын сангаас把程 序执行时并不要求同时装入内存的覆盖组成一组, 称为覆盖段,将一个覆盖段分配到同一个存储区域, 这个存储区域称为覆盖区,它与覆盖段一一对应。
➢ 覆盖技术要求程序员必须把一个程序划分成不同 的程序段,并规定好它们的执行和覆盖顺序,操作 系统根据程序员提供的覆盖结构来完成程序段之间 的覆盖
间利用率较低,有内部碎片。
连续分配方式
可变分区分配
➢ 数据结构:空闲分区表、空闲分区链 ➢ 分配算法:
(1)首次适应 ✓ 优点:优先利用内存低址部分的内存空间,无内部碎片 ✓ 缺点:低址部分不断划分,有外部碎片;每次查找从低
址部分开始,增加了查找的开销。 ✓ 要求:空闲分区表或空闲分区链按地址从低到高排列 ✓ 循环首次适应、最佳(差)适应
✓ 装入时动态链接:将应用程序编译后所得到的一组目标 模块在装入内存时采用边装入边链接方式。
✓ 运行时动态链接:对一些目标模块的链接直到程序运行 时才去对它进行链接,其优点是便于修改和更新,便于 实现目标模块的共享。
内存管理概念
➢ 程序的装入方式
✓ 绝对装入:在编译时就知道程序将要驻留的内存地址, 编译程序产生绝对地址目标代码。不适合多道程序设计。
(3)最佳适应算法 ✓ 优点:产生的外部碎片很小,无内部碎片 ✓ 缺点:产生许多难以利用的小空闲区,仍有外部碎片 ✓ 要求:空闲分区表或空闲分区链按其容量从小到大排列 (4)最坏适应算法 ✓ 优点:使得留下来的空闲区较大,便于下次利用,无内部碎片 ✓ 缺点:大的空闲区不容易保留,有外部碎片 ✓ 要求:空闲分区表或空闲分区链按其容量从大到小排列
➢ 特点:打破了必须将一个进程的全部信息装入主存 后才能运行的限制
连续分配方式
固定分区分配
➢ 划分分区的方法:分区大小相等、分区大小不等 ➢ 内存分配:将分区按大小进行排序,建立一张分区使
用表 ➢ 优点:可用于多道程序系统最简单的存储分配,无外
部碎片 ➢ 缺点:不能实现多进程共享一个主存区,所以存储空
第4章 存储器管理
计算机科学与技术2011级专升本
内存管理概念
1.内存管理的功能
存储管理的主要任务时为多道程序的运行提供良好的 环境,方便用户使用存储器、提高存储器的利用率 以及从逻辑上扩充存储器。为此,存储管理应具有 如下功能:
➢ 内存的分配和回收 ➢ 地址变换 ➢ 扩充内存容量 ➢ 存储保护
✓ 可重定位装入:根据内存当前的使用情况,将装入模块 装入到内存的适当位置,地址变换通常是在装入时一次 性完成的,之后都不再改变,也称为静态重定位。特点: 在一个作业装入内存时必须分配其要求的全部内存空间, 此外,不能在内存中移动或增加内存空间。
✓ 动态运行装入:允许程序运行时在内存中移动位置,把 装入模块装入到内存后所有的地址都是相对地址,只有 到程序需要真正执行时才把相对地址转换成绝对地址, 也称为动态重定位。特点:可以将程序分配到不连续的 存储区中,课装入部分代码。
✓ 缺点:主存利用不够充分,即存在内部碎片,无法实现多 进程共享存储器的信息,无法实现主存的扩充
虚拟内存管理
虚拟存储器的定义 实现虚拟存储技术的硬件支持
➢ 要有相当数量的外存:足以存放多个用户的程序 ➢ 要有一定容量的内存:因为在处理机上运行的程序
必须有一部分信息存放在内存中。 ➢ 地址变换机构:以动态实现虚地址到实地址的地址
变换
常用的虚拟存储技术
➢ 请求分页存储管理 ➢ 请求分段存储管理 ➢ 请求段页式存储管理
非连续分配方式
基本分页存储管理的实现思想
➢ 作业分页,内存分块,页大小等于块大小 ➢ 页面大小由机器的地质结构决定 ➢ 基本地址变换机构(图) ➢ 具有快表的地址变换机构(图) ➢ 基本分页存储管理方式的优缺点
连续分配方式
可变分区分配
➢ 数据结构:空闲分区表、空闲分区链 ➢ 分配算法: ➢ 回收:合并相邻的空闲区 ➢ 拼接技术 ➢ 分区的存储保护:
上下界寄存器方法、基址限长寄存器方法
➢ 动态分区分配的优缺点
✓ 优点:实现了多道程序共享主存、管理方案相对简单,不 需要更多的软硬件开销,实现存储保护的手段比较简单
交换与覆盖
交换(Swappin)技术
➢ 交换技术就是把暂时不用的某个程序及数据部分 (或全部)从内存一到外存中去,以便腾出必要的 内存空间;或把指定的程序或数据从外村读到相应 的内存中,并将控制权转给它,让其在系统上运行 的一种内存扩充技术。
➢ 交换主要是在进程或作业之间进行;覆盖主要在同 一个作业或进程中进行。
✓ 缺点:需要专门的硬件支持,尤其是快表;内存访问的 效率下降;不支持动态链接,不能实现真正的共享;有 内部碎片
非连续分配方式
页面置换算法
页面分配策略
➢ 物理块的分配策略
✓ 固定分配局部置换 ✓ 可变分配全局置换 ✓ 可变分配局部置换
➢ 页面调入策略
✓ 请求调页策略 ✓ 预调页策略
缺页率
➢ 页面置换算法:其优 略影响缺页中断次数
连续分配方式
可变分区分配
➢ 数据结构:空闲分区表、空闲分区链 ➢ 分配算法:
(2)循环首次适应 ✓ 优点:使内存空闲分区分布均匀,减少查找开销,无内
部碎片 ✓ 缺点:会导致缺乏大的空闲分区,有外部碎片 ✓ 要求:空闲分区表或空闲分区链按地址从低到高排列
连续分配方式
可变分区分配
➢ 数据结构:空闲分区表、空闲分区链 ➢ 分配算法:
内存管理概念
2.应用程序的处理过程
➢ 用户先编辑好应用程序,通过相关语言的编译程序 将其编译成若干个目标模块,再通过链接程序将编 译后的目标模块以及它们所需要的库函数链接在一 起,形成一个完整的装入模块,最后通过装入程序 将它们装入内存进行运行。
内存管理概念
➢ 程序的链接方式:
✓ 静态链接:在程序运行之前,先把各个目标模块及它们 所需要的库函数链接成一个完整的可执行程序,以后不 再拆开。
交换与覆盖
覆盖(Overlay)技术
➢ 覆盖管理技术就是把一个大的程序划分为一系列覆 盖,每个覆盖就是一个相对独立的程序单位Байду номын сангаас把程 序执行时并不要求同时装入内存的覆盖组成一组, 称为覆盖段,将一个覆盖段分配到同一个存储区域, 这个存储区域称为覆盖区,它与覆盖段一一对应。
➢ 覆盖技术要求程序员必须把一个程序划分成不同 的程序段,并规定好它们的执行和覆盖顺序,操作 系统根据程序员提供的覆盖结构来完成程序段之间 的覆盖
间利用率较低,有内部碎片。
连续分配方式
可变分区分配
➢ 数据结构:空闲分区表、空闲分区链 ➢ 分配算法:
(1)首次适应 ✓ 优点:优先利用内存低址部分的内存空间,无内部碎片 ✓ 缺点:低址部分不断划分,有外部碎片;每次查找从低
址部分开始,增加了查找的开销。 ✓ 要求:空闲分区表或空闲分区链按地址从低到高排列 ✓ 循环首次适应、最佳(差)适应
✓ 装入时动态链接:将应用程序编译后所得到的一组目标 模块在装入内存时采用边装入边链接方式。
✓ 运行时动态链接:对一些目标模块的链接直到程序运行 时才去对它进行链接,其优点是便于修改和更新,便于 实现目标模块的共享。
内存管理概念
➢ 程序的装入方式
✓ 绝对装入:在编译时就知道程序将要驻留的内存地址, 编译程序产生绝对地址目标代码。不适合多道程序设计。
(3)最佳适应算法 ✓ 优点:产生的外部碎片很小,无内部碎片 ✓ 缺点:产生许多难以利用的小空闲区,仍有外部碎片 ✓ 要求:空闲分区表或空闲分区链按其容量从小到大排列 (4)最坏适应算法 ✓ 优点:使得留下来的空闲区较大,便于下次利用,无内部碎片 ✓ 缺点:大的空闲区不容易保留,有外部碎片 ✓ 要求:空闲分区表或空闲分区链按其容量从大到小排列
➢ 特点:打破了必须将一个进程的全部信息装入主存 后才能运行的限制
连续分配方式
固定分区分配
➢ 划分分区的方法:分区大小相等、分区大小不等 ➢ 内存分配:将分区按大小进行排序,建立一张分区使
用表 ➢ 优点:可用于多道程序系统最简单的存储分配,无外
部碎片 ➢ 缺点:不能实现多进程共享一个主存区,所以存储空
第4章 存储器管理
计算机科学与技术2011级专升本
内存管理概念
1.内存管理的功能
存储管理的主要任务时为多道程序的运行提供良好的 环境,方便用户使用存储器、提高存储器的利用率 以及从逻辑上扩充存储器。为此,存储管理应具有 如下功能:
➢ 内存的分配和回收 ➢ 地址变换 ➢ 扩充内存容量 ➢ 存储保护
✓ 可重定位装入:根据内存当前的使用情况,将装入模块 装入到内存的适当位置,地址变换通常是在装入时一次 性完成的,之后都不再改变,也称为静态重定位。特点: 在一个作业装入内存时必须分配其要求的全部内存空间, 此外,不能在内存中移动或增加内存空间。
✓ 动态运行装入:允许程序运行时在内存中移动位置,把 装入模块装入到内存后所有的地址都是相对地址,只有 到程序需要真正执行时才把相对地址转换成绝对地址, 也称为动态重定位。特点:可以将程序分配到不连续的 存储区中,课装入部分代码。
✓ 缺点:主存利用不够充分,即存在内部碎片,无法实现多 进程共享存储器的信息,无法实现主存的扩充
虚拟内存管理
虚拟存储器的定义 实现虚拟存储技术的硬件支持
➢ 要有相当数量的外存:足以存放多个用户的程序 ➢ 要有一定容量的内存:因为在处理机上运行的程序
必须有一部分信息存放在内存中。 ➢ 地址变换机构:以动态实现虚地址到实地址的地址
变换
常用的虚拟存储技术
➢ 请求分页存储管理 ➢ 请求分段存储管理 ➢ 请求段页式存储管理
非连续分配方式
基本分页存储管理的实现思想
➢ 作业分页,内存分块,页大小等于块大小 ➢ 页面大小由机器的地质结构决定 ➢ 基本地址变换机构(图) ➢ 具有快表的地址变换机构(图) ➢ 基本分页存储管理方式的优缺点
连续分配方式
可变分区分配
➢ 数据结构:空闲分区表、空闲分区链 ➢ 分配算法: ➢ 回收:合并相邻的空闲区 ➢ 拼接技术 ➢ 分区的存储保护:
上下界寄存器方法、基址限长寄存器方法
➢ 动态分区分配的优缺点
✓ 优点:实现了多道程序共享主存、管理方案相对简单,不 需要更多的软硬件开销,实现存储保护的手段比较简单
交换与覆盖
交换(Swappin)技术
➢ 交换技术就是把暂时不用的某个程序及数据部分 (或全部)从内存一到外存中去,以便腾出必要的 内存空间;或把指定的程序或数据从外村读到相应 的内存中,并将控制权转给它,让其在系统上运行 的一种内存扩充技术。
➢ 交换主要是在进程或作业之间进行;覆盖主要在同 一个作业或进程中进行。