计算机操作系统第7章.ppt
《计算机操作系统第7章.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统第7章.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主存管理主存管理主存管理主存管理主存管理概述主存管理概述主存管理概述主存管理概述主存管理的功能主存管理的功能主存管理的功能主存管理的功能分区存储管理分区存储管理分区存储管理分区存储管理页式存储管理页式存储管理页式存储管理页式存储管理段式及段页式存储管理段式及段页式存储管理段式及段页式存储管理段式及段页式存储管理LinuxLinux系统的存储管理系统的存储管理系统的存储管理系统的存储管理1主存管理主存管理主要内容主要内容2主存管理主存管理主存管理概述主存管理概述1.1.主存共享方式主存共享方式主存共享方式主存共享方式大小不等的区域大小不等的区域大小不等的区域大小不等的区域分区存储管理分区存储管理
2、段式存储管理段式存储管理大小相等的区域大小相等的区域大小相等的区域大小相等的区域页式存储管理页式存储管理二者结合二者结合二者结合二者结合段页式存储管理段页式存储管理3主存管理主存管理主存管理概述主存管理概述2.2.程序的逻辑组织程序的逻辑组织程序的逻辑组织程序的逻辑组织一维地址结构一维地址结构一维地址结构一维地址结构一个程序是一个连续、线性的 地址结构;确定线性地址空间中的指令地 址或操作数地址只需要一个信息。程序地址空间程序地址空间01 n-1 4主存管理主存管理主存管理概述主存管理概述二维地址结构二维地址结构二维地址结构二维地址结构一个程序由若干个分段组成,每个分段是一个连续的地址区;确定
3、任一线性地址空间中的指令地址或操作数地址需要两个信息,一是该信息所在的分段,另一个是该信息在段内的偏移量。code_addr4KB 10代码分段代码分段data_addr3KB 10数据分段数据分段stack_addr2KB 10栈段栈段11 51.1.几个概念几个概念几个概念几个概念物理地址物理地址物理地址物理地址 (绝对地址、实地址绝对地址、实地址绝对地址、实地址绝对地址、实地址)物理地址是计算机主存单元的真实地址,又称为绝对地址或实地址。主存空间主存空间主存空间主存空间 物理地址的集合所对应的空间组成了主存空间。逻辑地址逻辑地址逻辑地址逻辑地址 (相对地址、虚地址相对地址、虚地址相对地址
4、、虚地址相对地址、虚地址)用户的程序地址(指令地址或操作数地址)均为逻辑地址。作业地址空间作业地址空间作业地址空间作业地址空间 用户程序所有的逻辑地址集合对应的空间。主存管理主存管理主存管理功能主存管理功能6作业地址空间与主存空间作业地址空间与主存空间作业地址空间与主存空间作业地址空间与主存空间主存管理主存管理主存管理功能主存管理功能主存空间主存空间01m-1作业作业1地址空间地址空间01n-1作业作业 i 地址空间地址空间01k-1 7主存管理主存管理主存管理功能主存管理功能2.2.主存管理功能主存管理功能主存管理功能主存管理功能实现逻辑地址到物理主存地址的映射实现逻辑地址到物理主存地址的映
5、射实现逻辑地址到物理主存地址的映射实现逻辑地址到物理主存地址的映射主存分配主存分配主存分配主存分配 存储保护存储保护存储保护存储保护主存扩充主存扩充主存扩充主存扩充 8主存管理主存管理地址映射地址映射3.3.地址映射地址映射地址映射地址映射什么是地址映射什么是地址映射什么是地址映射什么是地址映射 将程序地址空间中使用的逻辑地址变换成主存中的物理地址的过程,称为地址映射。mov r1,5001230100500599作业地址空间作业地址空间mov r1,50012301000110015001599256k-1存储空间存储空间9主存管理主存管理地址映射地址映射在作业装入时确定地址映射关系在作业装
6、入时确定地址映射关系 在作业装入过程中随即进行的地址变换方式称为静态地址映射静态地址映射。mov r1,500mov r1,500+m01005005990mm+100256k-1作业地址空间作业地址空间存储空间存储空间m+500重定位重定位装入程序装入程序123123地址映射的时机和类别地址映射的时机和类别地址映射的时机和类别地址映射的时机和类别编程或编译时确定地址映射关系编程或编译时确定地址映射关系 在程序编写或程序编译时确定虚、实地址之间的对应关系,结果 是一个不能浮动的程序模块。10主存管理主存管理地址映射地址映射在程序运行时确定地址映射关系在程序运行时确定地址映射关系 在程序执行期间
7、,随着每条指令和数据的访问自动地 连续地进行地址映射,这种地址变换方式称为动态地动态地 址映射址映射。重定位寄存器重定位寄存器 1000 500逻辑地址+0 mov r1,500 1000256k-1存储空间110015001600123mov r1,5000100500599作业地址空间12311主存管理主存管理地址映射地址映射静态地址映射与动态地址映射的区别静态地址映射与动态地址映射的区别静态地址映射与动态地址映射的区别静态地址映射与动态地址映射的区别 静态地址映射静态地址映射 动态地址映射动态地址映射 在作业装入过程中在作业装入过程中 在程序执行期间在程序执行期间 进行地址映射进行地址映
8、射 进行地址映射进行地址映射 需软件需软件 需硬件地址变换机构需硬件地址变换机构 重定位装入程序重定位装入程序 重定位寄存器重定位寄存器 需花费较多需花费较多CPUCPU时间时间 地址变换快地址变换快 不灵活不灵活 灵活灵活 12主存管理主存管理主存管理功能主存管理功能4.4.主存分配主存分配主存分配主存分配构造分配用的数据结构构造分配用的数据结构构造分配用的数据结构构造分配用的数据结构 主存资源信息块主存资源信息块主存资源信息块主存资源信息块:等待队列;空闲区队列;主存分配程序制定策略制定策略制定策略制定策略主存分配策略主存分配策略 在众多个请求者中选择一个请求者的原则放置策略放置策略 在可
9、用资源中,选择一个空闲区的原则调入策略调入策略 决定信息装入主存的时机 预调策略:预先将信息调入主存 请调策略:当需要信息时,将信息调入主存淘汰策略淘汰策略 在主存中没有可用的空闲区(对某一作业而言)时,决定哪些信息从主存中移走,即确定淘汰已占用的内存区的原则。实施主存分配与回收实施主存分配与回收实施主存分配与回收实施主存分配与回收13主存管理主存管理主存管理功能主存管理功能5.5.主存扩充主存扩充主存扩充主存扩充可行性可行性可行性可行性实现方法实现方法实现方法实现方法程序的全部代码和数据存放在辅存中;将程序当前执行所涉及的那部分程序代码放入主存中;程序执行时,当所需信息不在主存,由操作系统和
10、硬件相配合来完成主存从辅存中调入信息,程序继续执行。什么是虚拟存储器什么是虚拟存储器什么是虚拟存储器什么是虚拟存储器 由操作系统和硬件相配合来完成主存和辅存之间的信息的动态调度。这样的计算机系统好像为用户提供了一个其存储容量比实际主存大得多的存储器,这个存储器称为虚拟存储器。局部性特征局部性特征14主存管理主存管理主存管理功能主存管理功能虚拟存储器的核心虚拟存储器的核心虚拟存储器的核心虚拟存储器的核心逻辑地址与物理地址分开逻辑地址与物理地址分开存储空间与虚地址空间分开存储空间与虚地址空间分开提供地址变换机构提供地址变换机构实现虚拟存储器的物质基础实现虚拟存储器的物质基础实现虚拟存储器的物质基础
11、实现虚拟存储器的物质基础有相当容量的辅存有相当容量的辅存有相当容量的辅存有相当容量的辅存 足以存放应用程序的虚地址空间有一定容量的主存有一定容量的主存有一定容量的主存有一定容量的主存 存放进入主存的多进程的信息地址变换机构地址变换机构地址变换机构地址变换机构 15主存管理主存管理主存管理功能主存管理功能6.6.存储保护存储保护存储保护存储保护什么是存储保护什么是存储保护什么是存储保护什么是存储保护 在多用户环境中,主存储器按区分配给各用户程序使用。为了互不影响,必须由硬件(软件配合)保证各用户程序只 能在给定的存储区域内活动,这种措施叫做存储保护。实现方法实现方法实现方法实现方法界地址保护存储
12、键保护16主存管理主存管理主存管理功能主存管理功能界地址保护界地址保护界地址保护界地址保护上下界防护上下界防护 例:作业大小为4KB,主存首址为20KB。mov r1,500 123020KB256KB 1存储空间存储空间24KB下界寄存器下界寄存器 20KB上界寄存器上界寄存器 24KB如何如何设置上下界寄存器内容设置上下界寄存器内容?如何判断是否越界如何判断是否越界?若若 20KBD24KB 允许访问;否则发生越界中断17主存管理主存管理主存管理功能主存管理功能界地址保护界地址保护界地址保护界地址保护基地址、限长防护基地址、限长防护 例:作业大小为4KB,主存首址为20KB。如何如何设置基
13、址、限长寄存器设置基址、限长寄存器内容内容?如何判断是否越界如何判断是否越界?若若 逻辑地址 4KB 允许访问;否则发生越界中断 mov r1,500 123020KB256KB 1存储空间存储空间24KB基址寄存器基址寄存器 20KB限长寄存器限长寄存器 4KB181.1.动态分区分配动态分区分配动态分区分配动态分区分配什么是动态分区分配什么是动态分区分配什么是动态分区分配什么是动态分区分配 在处理作业的过程中,建立分区,依用户请求的大小分配分区。动态分区的分配、回收过程动态分区的分配、回收过程动态分区的分配、回收过程动态分区的分配、回收过程动态分区的分配过程动态分区的分配过程 主存管理主存
14、管理分区存储管理分区存储管理19主存管理主存管理分区存储管理分区存储管理作业作业1申请申请 32KB 0 256KB 1主存主存20KBos20KB 0 52KB256KB 1主存主存os作业1作业作业2申请申请 14KB20KB 0 52KB66KB256KB 1主存主存os作业1作业2作业作业3申请申请 64KB20KB 0 52KB66KB130KB256KB 1主存主存os作业1作业2作业3作业作业4申请申请 100KB20KB 0 52KB66KB130KB230KB256KB 1主存主存os作业1作业2作业3作业4作业作业5申请申请 50KB20主存管理主存管理分区存储管理分区存储
15、管理动态分区的回收过程动态分区的回收过程 作业作业2 完成完成 作业作业4 完成完成 20KB 0 52KB66KB130KB230KB256KB 1主存主存作业1作业2作业3作业4os20KB 0 52KB66KB130KB230KB256KB 1主存主存作业1作业3作业4os20KB 0 52KB66KB130KB230KB256KB 1主存主存os作业1作业3211.1.动态分区分配动态分区分配动态分区分配动态分区分配什么是动态分区分配什么是动态分区分配什么是动态分区分配什么是动态分区分配 在处理作业的过程中,建立分区,依用户请求的大小分配分区。分区分配结构分区分配结构分区分配结构分区分
16、配结构主存资源信息块主存资源信息块主存资源信息块主存资源信息块 (M_RIB)分区描述器分区描述器分区描述器分区描述器 (PD)(PD)主存管理主存管理分区存储管理分区存储管理 等待队列头指针 空闲区队列头指针 主存分配程序入口地址M_RIBflag:为 0 空闲区 为 1 已分配区 size:分区大小 next:空闲区自由主存队列中的勾链字 已分配区此项为零 分配标志 flag 大小 size 勾链字 nextPD22空闲区队列结构空闲区队列结构空闲区队列结构空闲区队列结构主存管理主存管理分区存储管理分区存储管理20KB 0 52KB66KB130KB230KB256KB 1主存主存os作业
17、1作业3作业452KBm-rib 空闲区队列空闲区队列230KB014KB026KB 232.2.分区的分配与回收分区的分配与回收分区的分配与回收分区的分配与回收分区分配思路分区分配思路分区分配思路分区分配思路依申请者所要求的主存区的大小,分区分配程序在自 由主存队列中找一个满足用户需要的空闲块;若找到了所需的空闲区,有两种情况空闲区与要求的大小相等,将该空闲区分配并从队列中摘除;空闲区大于所要求的的大小,将空闲区分为两部分:一部分成 为已分配区,建立已分配区的描述器;剩下部分仍为空闲区。返回所分配区域的首址;否则,告之不能满足要求。主存管理主存管理分区存储管理分区存储管理24分区回收思路分区
18、回收思路分区回收思路分区回收思路检查释放分区(即为回收分区)在主存中的邻接情况;若上、下邻接空闲区,则合并,成为一个连续的空 闲区;若回收分区不与任何空闲区相邻接,建立一个新的空 闲区,并加入到空闲区队列中。主存管理主存管理分区存储管理分区存储管理253.3.放置策略放置策略放置策略放置策略什么是放置策略什么是放置策略什么是放置策略什么是放置策略 选择空闲区的策略,称为放置策略。常用的放置策略 首次匹配(首次适应算法)最佳匹配(最佳适应算法)最坏匹配(最坏适应算法)主存管理主存管理分区存储管理分区存储管理26首次适应算法首次适应算法首次适应算法首次适应算法首次适应算法是将输入的作业放置到主存里
19、第一个足 够装入它的地址最低的空闲区中。主存管理主存管理分区存储管理分区存储管理 作业作业A 18KB首次适应算法的例首次适应算法的例空闲区队列结构空闲区队列结构 空闲区地址由低到高排序首次适应算法的特点首次适应算法的特点首次适应算法的特点首次适应算法的特点 尽可能地利用存储器中低 地址的空闲区,而尽量保 存高地址的空闲区。在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存主存os27最佳适应算法最佳适应算法最佳适应算法最佳适应算法最佳适应算法是将输入的作业放置到主存中与它所需 大小最接近的空闲区中。主存管理主存管理
20、分区存储管理分区存储管理 作业作业A 18KB最佳适应算法的例最佳适应算法的例空闲区队列结构空闲区队列结构 空闲区大小由小到大排序最佳适应算法的特点最佳适应算法的特点 尽可能地利用存储器中小的 空闲区,而尽量保存大的空 闲区。在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存主存os28最坏适应算法最坏适应算法最坏适应算法最坏适应算法最坏适应算法是将输入的作业放置到主存中与它所需 大小差距最大的空闲区中。主存管理主存管理分区存储管理分区存储管理 作业作业A 18KB最坏适应算法的例最坏适应算法的例空闲区队列结构空闲区
21、队列结构 空闲区大小由大到小排序最坏适应算法的特点最坏适应算法的特点 尽可能地利用存储器中大的 空闲区。在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存主存os29三种放置策略的讨论三种放置策略的讨论三种放置策略的讨论三种放置策略的讨论作业A要求18KB;作业B要求25KB;作业C要求30KB。用首次适应算法、最佳适应算法、最坏适应算法来处理 该作业序列,看哪种算法合适。主存管理主存管理分区存储管理分区存储管理30三种放置策略的讨论三种放置策略的讨论三种放置策略的讨论三种放置策略的讨论首次适应算法、最佳适应算法、最
22、坏适应算法的队列结构。首次适应算法、最佳适应算法、最坏适应算法的队列结构。主存管理主存管理分区存储管理分区存储管理 在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存主存os(a)首首次次适适应应算算法法的的空空闲闲区区队队列列 20KB 0 30KB 100KB 0 20KB 160KB 0 5KB 210KB 0 46KB (a)最最佳佳适适应应算算法法的的空空闲闲区区队队列列160KB 0 5KB 100KB 0 20KB 20KB 0 30KB 210KB 0 46KB (a)最最坏坏适适应应算算法法的的空空
23、闲闲区区队队列列210KB 0 46KB 20KB 0 30KB 100KB 0 20KB 160KB 0 5KB 31三种放置策略的讨论三种放置策略的讨论三种放置策略的讨论三种放置策略的讨论首次适应算法首次适应算法 主存管理主存管理分区存储管理分区存储管理 作业A要求18KB 作业B要求25KB 作业C要求30KB 首次适应算法对该作业序列是不合适的首次适应算法对该作业序列是不合适的 在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存主存os(a)首首次次适适应应算算法法的的空空闲闲区区队队列列 20KB 0 30
24、KB 100KB 0 20KB 160KB 0 5KB 210KB 0 46KB 32最佳适应算法最佳适应算法 主存管理主存管理分区存储管理分区存储管理 作业A要求18KB 作业B要求25KB 作业C要求30KB 最佳适应算法对该作业序列是合适的最佳适应算法对该作业序列是合适的 在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存主存os(a)最最佳佳适适应应算算法法的的空空闲闲区区队队列列160KB 0 5KB 100KB 0 20KB 20KB 0 30KB 210KB 0 46KB 33最坏适应算法最坏适应算法
25、主存管理主存管理分区存储管理分区存储管理 作业A要求18KB 作业B要求25KB 作业C要求30KB 最坏适应算法对该作业序列是不合适的最坏适应算法对该作业序列是不合适的 os在使用在使用在使用在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存主存(a)最最坏坏适适应应算算法法的的空空闲闲区区队队列列210KB 0 46KB 20KB 0 30KB 100KB 0 20KB 160KB 0 5KB 344.4.碎片问题及拼接技术碎片问题及拼接技术碎片问题及拼接技术碎片问题及拼接技术什么是碎片问题什么是碎片问题什么是碎片问题什么是碎片问
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统
限制150内