计算机操作系统第7章

上传人:ji****72 文档编号:50897547 上传时间:2018-08-11 格式:PPT 页数:81 大小:1.45MB
返回 下载 相关 举报
计算机操作系统第7章_第1页
第1页 / 共81页
计算机操作系统第7章_第2页
第2页 / 共81页
计算机操作系统第7章_第3页
第3页 / 共81页
计算机操作系统第7章_第4页
第4页 / 共81页
计算机操作系统第7章_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《计算机操作系统第7章》由会员分享,可在线阅读,更多相关《计算机操作系统第7章(81页珍藏版)》请在金锄头文库上搜索。

1、主存管理主存管理l主存管理概述l主存管理的功能l分区存储管理l页式存储管理l段式及段页式存储管理lLinux系统的存储管理1主存管理主要内容2主存管理主存管理概述1. 主存共享方式l大小不等的区域分区存储管理段式存储管理l大小相等的区域页式存储管理l二者结合段页式存储管理3主存管理主存管理概述2. 程序的逻辑组织l一维地址结构一个程序是一个连续、线性的地址结构;确定线性地址空间中的指令地址或操作数地址只需要一个信息。 程序地址空间01n-14主存管理主存管理概述l二维地址结构一个程序由若干个分段组成,每个分段是一个连续的地址区;确定任一线性地址空间中的指令地址或操作数地址需要两个信息,一是该信

2、息所在的分段,另一个是该信息在段内的偏移量。code_addr4KB10代码分段data_addr3KB10数据分段stack_addr2KB10栈段1151. 几个概念l物理地址 (绝对地址、实地址) 物理地址是计算机主存单元的真实地址,又称为绝对地址或实地址。l主存空间 物理地址的集合所对应的空间组成了主存空间。l逻辑地址 (相对地址、虚地址) 用户的程序地址(指令地址或操作数地址)均为逻辑地址。l作业地址空间 用户程序所有的逻辑地址集合对应的空间。主存管理主存管理功能6l作业地址空间与主存空间主存管理主存管理功能主存空间01m-1作业1地址空间0 1n-1作业 i 地址空间0 1k-17

3、主存管理主存管理功能2. 主存管理功能l实现逻辑地址到物理主存地址的映射l主存分配 l存储保护l主存扩充 8主存管理地址映射3. 地址映射l什么是地址映射将程序地址空间中使用的逻辑地址变换成主存中的物理地址的过程,称为地址映射。mov r1,5001230100500599作业地址空间mov r1,50012301000 11001500 1599256k-1 存储空间9主存管理地址映射在作业装入时确定地址映射关系 在作业装入过程中随即进行的地址变换方式称为静态地址映射。mov r1,500mov r1,500+m01005005990mm+100256k-1作业地址空间存储空间m+500重定

4、位 装入程序123123l地址映射的时机和类别编程或编译时确定地址映射关系在程序编写或程序编译时确定虚、实地址之间的对应关系,结果 是一个不能浮动的程序模块。10主存管理地址映射在程序运行时确定地址映射关系 在程序执行期间,随着每条指令和数据的访问自动地连续地进行地址映射,这种地址变换方式称为动态地址映射。重定位寄存器1000500逻辑地址+0mov r1 , 5001000256k-1 存储空间110015001600123mov r1,5000100500599 作业地址空间12311主存管理地址映射静态地址映射与动态地址映射的区别静态地址映射 动态地址映射 在作业装入过程中 在程序执行期

5、间进行地址映射 进行地址映射 需软件 需硬件地址变换机构重定位装入程序 重定位寄存器 需花费较多CPU时间 地址变换快 不灵活 灵活 12主存管理主存管理功能 4. 主存分配l构造分配用的数据结构主存资源信息块:等待队列;空闲区队列;主存分配程序l制定策略主存分配策略 在众多个请求者中选择一个请求者的原则放置策略 在可用资源中,选择一个空闲区的原则调入策略 决定信息装入主存的时机预调策略:预先将信息调入主存请调策略:当需要信息时,将信息调入主存淘汰策略 在主存中没有可用的空闲区(对某一作业而言)时,决定哪些信息从主存中移走,即确定淘汰已占用的内存区的原则。l实施主存分配与回收13主存管理主存管

6、理功能5. 主存扩充l可行性l实现方法程序的全部代码和数据存放在辅存中;将程序当前执行所涉及的那部分程序代码放入主存中;程序执行时,当所需信息不在主存,由操作系统和硬件相配合来完成主存从辅存中调入信息,程序继续执行。l什么是虚拟存储器由操作系统和硬件相配合来完成主存和辅存之间的信息的动态调度。这样的计算机系统好像为用户提供了一个其存储容量比实际主存大得多的存储器,这个存储器称为虚拟存储器。局部性特征14主存管理主存管理功能l虚拟存储器的核心逻辑地址与物理地址分开存储空间与虚地址空间分开提供地址变换机构l实现虚拟存储器的物质基础有相当容量的辅存足以存放应用程序的虚地址空间有一定容量的主存存放进入

7、主存的多进程的信息地址变换机构 15主存管理主存管理功能6. 存储保护l什么是存储保护在多用户环境中,主存储器按区分配给各用户程序使用。为了互不影响,必须由硬件(软件配合)保证各用户程序只能在给定的存储区域内活动,这种措施叫做存储保护。l实现方法界地址保护存储键保护16主存管理主存管理功能l界地址保护上下界防护例:作业大小为4KB,主存首址为20KB。mov r1 , 500123020KB256KB1 存储空间24KB下界寄存器20KB上界寄存器24KB如何设置上下界寄存器内容 ?如何判断是否越界 ?若 20KBD24KB 允许访问;否则发生越界中断17主存管理主存管理功能l界地址保护基地址

8、、限长防护例:作业大小为4KB,主存首址为20KB。如何设置基址、限长寄存器内容 ?如何判断是否越界 ?若 逻辑地址 4KB 允许访问;否则发生越界中断mov r1 , 500123020KB256KB1 存储空间24KB基址寄存器20KB限长寄存器4KB181. 动态分区分配l什么是动态分区分配 在处理作业的过程中,建立分区,依用户请求的大小分配分区。l动态分区的分配、回收过程动态分区的分配过程 主存管理分区存储管理19主存管理分区存储管理作业1申请32KB0256KB1 主存20KBos 20KB052KB256KB1 主存os作业1作业2申请14KB20KB052KB66KB256KB1

9、 主存os作业1作业2作业3申请64KB20KB052KB66KB130KB256KB1 主存os作业1作业2作业3作业4申请100KB20KB052KB66KB130KB230KB256KB1 主存os作业1作业2作业3作业4作业5申请50KB20主存管理分区存储管理动态分区的回收过程 作业2 完成 作业4 完成 20KB052KB66KB130KB230KB256KB1 主存作业1作业2作业3作业4os 20KB052KB66KB130KB230KB256KB1 主存作业1作业3作业4os 20KB052KB66KB130KB230KB256KB1 主存os作业1作业3211. 动态分区分

10、配l什么是动态分区分配 在处理作业的过程中,建立分区,依用户请求的大小分配分区。l分区分配结构主存资源信息块 (M_RIB)分区描述器 (PD) 主存管理分区存储管理等待队列头指针空闲区队列头指针主存分配程序入口地址M_RIBflag: 为 0 空闲区为 1 已分配区 size: 分区大小 next:空闲区自由主存队列中的勾链字已分配区此项为零 分配标志 flag大小 size勾链字 nextPD22空闲区队列结构主存管理分区存储管理20KB052KB66KB130KB230KB256KB1 主存os作业1作业3作业452KBm-rib空闲区队列230KB0 14KB0 26KB 232. 分

11、区的分配与回收l分区分配思路依申请者所要求的主存区的大小,分区分配程序在自由主存队列中找一个满足用户需要的空闲块;若找到了所需的空闲区,有两种情况空闲区与要求的大小相等,将该空闲区分配并从队列中摘除;空闲区大于所要求的的大小,将空闲区分为两部分:一部分成为已分配区,建立已分配区的描述器;剩下部分仍为空闲区。返回所分配区域的首址;否则,告之不能满足要求。主存管理分区存储管理24l分区回收思路检查释放分区(即为回收分区)在主存中的邻接情况 ;若上、下邻接空闲区,则合并,成为一个连续的空闲区;若回收分区不与任何空闲区相邻接,建立一个新的空闲区,并加入到空闲区队列中。主存管理分区存储管理253. 放置

12、策略l什么是放置策略选择空闲区的策略,称为放置策略。常用的放置策略首次匹配(首次适应算法)最佳匹配(最佳适应算法)最坏匹配(最坏适应算法)主存管理分区存储管理26l首次适应算法首次适应算法是将输入的作业放置到主存里第一个足够装入它的地址最低的空闲区中。主存管理分区存储管理作业A18KB首次适应算法的例空闲区队列结构 空闲区地址由低到高排序首次适应算法的特点尽可能地利用存储器中低地址的空闲区,而尽量保存高地址的空闲区。在使用在使用在使用30KB5KB46KB0KB20KB100KB 20KB160KB210KB256KB-1 主存os27l最佳适应算法最佳适应算法是将输入的作业放置到主存中与它所

13、需大小最接近的空闲区中。主存管理分区存储管理作业A18KB最佳适应算法的例空闲区队列结构 空闲区大小由小到大排序最佳适应算法的特点尽可能地利用存储器中小的空闲区,而尽量保存大的空闲区。在使用在使用在使用30KB5KB46KB0KB20KB100KB 20KB160KB210KB256KB-1 主存os28l最坏适应算法最坏适应算法是将输入的作业放置到主存中与它所需大小差距最大的空闲区中。主存管理分区存储管理作业A18KB最坏适应算法的例空闲区队列结构 空闲区大小由大到小排序最坏适应算法的特点尽可能地利用存储器中大的空闲区。在使用在使用在使用30KB5KB46KB0KB20KB100KB 20K

14、B160KB210KB256KB-1 主存os29l三种放置策略的讨论作业A要求18KB;作业B要求25KB;作业C要求30KB。用首次适应算法、最佳适应算法、最坏适应算法来处理该作业序列,看哪种算法合适。 主存管理分区存储管理30l三种放置策略的讨论首次适应算法、最佳适应算法、最坏适应算法的队列结构。 主存管理分区存储管理在使用在使用在使用30KB5KB46KB0KB20KB100KB 20KB160KB210KB256KB-1 主存os(a) 首次适应算法的空闲区队列20KB030KB100KB020KB160KB05KB210KB046KB (a) 最佳适应算法的空闲区队列160KB05KB100KB020KB20KB030KB210KB046KB (a) 最坏适应算法的空闲区队列210KB046KB20KB030KB100KB020KB160KB05KB 31l三种放置策略的讨论首次适应算法 主存管理分区存储管理作业A要求18KB作业B要求25KB作业C要求30KB首次适应算法对该作业序列是不合适的 在使用在使用在使用30KB5KB46KB0KB20KB100KB 20KB160KB210KB256KB-1 主存os(a) 首次适应算法的空闲区队列20KB030KB100KB020KB160KB05KB210KB046KB 32最佳适

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

当前位置:首页 > 行业资料 > 其它行业文档

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