操作系统原理第四章存储器管理.ppt
《操作系统原理第四章存储器管理.ppt》由会员分享,可在线阅读,更多相关《操作系统原理第四章存储器管理.ppt(126页珍藏版)》请在三一办公上搜索。
1、2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,1,第四章存储器管理,存储管理的机制分区管理分页管理分段管理虚拟存储器的概念请求页式管理页面置换算法请求段式管理,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,2,4.1 存储管理概述,存储管理的目的 主存的分配和回收记住内存每个位置的状态。在系统程序或用户作业提出申请时,实施分配,并修改分配记录。接受系统或用户释放的存储区,或主动收回不再用的存储区,并相应地修改分配记录表。,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管
2、理,3,提高内存利用率“扩充”内存容量 信息保护,4.1 存储管理概述,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,4,内外存数据传输的控制 用户程序控制 操作系统控制交换(Swapping):由OS把那在内存中处于等待状态的进程换出内存,就绪进程换入内存。请求调入(On demand)和预调入(On prefetch),4.1 存储管理概述,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,5,内存管理的内容分配结构:放置策略:交换策略:调入策略:回收策略:,4.1 存储管理概述,2007-8-15 15:
3、26 15:26 15:26 15:26,操作系统|存储器管理,6,内存信息的共享与保护上下界保护法保护键法为每个被保护存储块分配一个单独的保护键,在程序状态字中设置相应的开关字段,不同的进程值不一样,匹配时,方可进行访问。界限寄存器与CPU 的用户态和核心态工作方式相结合用户态进程只能访问在界限寄存器所规定范围内的内存部分,而核心态进程则可访问整个内存地址空间。,4.1 存储管理概述,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,7,4.2 程序的装入和链接,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,
4、8,程序的装入绝对装入方式(Absolute Loading Mode)编译程序产生绝对地址目标代码,由装入程序根据装入模块中的地址,将程序和数据装入内存。,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,9,2可重定位装入方式(Relocatable Loading Mode)重定位:在装入时对目标程序中的指令和数据地址的修改过程。,4.2 程序的装入和链接,Load 1,12500,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,10,静态地址重定位:是指作业在装入时随即进行的地址变换方式,这一工作由装配程
5、序完成。优点:无需增加硬件地址变换机构;实现简单。缺点:程序经地址定位后就不能再移动了;程序在存储空间中只能连续分配;多个用户难以共享存于内存中的同一程序。,4.2 程序的装入和链接,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,11,3动态运行时装入方式(Dynamic Run-Time Loading)程序执行过程中,当访问指令或数据时,才进行的地址变换方法,称为动态重定位。靠硬件地址变换机构实现的。基地址寄存器(重定位寄存器)BR程序虚地址寄存器VR 地址 MA=(BR)+(VR)优点:可对内存进行非连续分配;提供了实现虚存的基础;有利于程序段
6、的共享。,4.2 程序的装入和链接,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,12,4.2 程序的装入和链接,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,13,程序的链接 静态链接:将各模块及库函数链接成一个装配模块,以后不再拆开。装入时动态链接:各目标模块装入内存时,边装入边链接。运行时动态链接:对模块的链接,是在程序执行中,才进行链接。,4.2 程序的装入和链接,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,14,4.3 连续分配存储管理方式,单一连续分
7、配存储区的分配内存分配和回收策略 优点管理简单,不要求专用的硬件支持;为防止破坏OS,设置界限寄存器;易于实现。,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,15,缺点存储器利用率低缺乏灵活性,程序所需应小于内存,否则提供覆盖。某些系统中安全性差。信息不共享CPU 利用率低,周转时间长。,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,16,固定分区 工作原理在系统生成时,将内存划分为若干各分区,每个分区的大小可以不等,一经划分,不能更改。系统对内存的管理和控制通过分区说明表说
8、明各区的区号,大小,起始地址及状态。特点可使多个作业共享内存,但管理简单,内存利用率太低,对工作负荷明确的作业比较合适。,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,17,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,18,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,19,动态分区工作原理 存储空间的划分是在装入作业时进行的,且使分区大小正好适应作业的需要。数据结构空闲分
9、区表:序号,大小,起址,状态空闲分区链:在每个分区中附上一个表格信息,状态(0,1),大小,指针(空白分区才有),4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,20,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,21,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,22,分区管理算法首次适应算法(First Fit)每个空白区按地址递增的顺序链接在一起。特点:尽量使用低端地址,
10、以保持高址部分的大空闲区;低址部分有很多小空白区,增加查找时间开销。循环首次适应算法从上次查找的位置的下一个空闲空闲分区开始查找。空闲分区分布均匀,查找时间缩短,但系统会缺少大的空闲分区。,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,23,最佳适应算法空白区按大小递增的顺序链在一起。变量FREE 中的始端指针总指向最小的空白区。特点:平均而言,查找时间较少;选择最适合的空白区。形成很多小碎片;找一个大空白区时较慢;回收时费时;先拼接,再把该区插入适当位置。最差适应算法空白区按容量递减次序排列。特点:分配时间快;剩下的空
11、白分区仍可用;各空白区比较均匀地减少,工作一段时间后,就不能满足大空白区的要求;回收麻烦。,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,24,算法分析特点:有助于多道程序设计;只需要界限地址寄存器,用于存储保护;算法简单,易于实现。但会产生碎片,降低存储器的利用效率;分区的大小,受内存容量限制。几种算法比较:搜索速度,释放速度,空闲区的利用。,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,25,分区的分配在未分配表中找出一个足够大的空白分区;如比
12、进程要求的大,则分为两部分;,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,26,分区的回收检查回收的分区是否与空白区邻接,如有则加以合并,上邻接,下邻接,上下邻接。,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,27,伙伴系统,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,28,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,29,
13、可重定位分区分配,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,30,原理:内存紧凑地址映射地址空间:在编译后,一个目标程序所限定的地址,即地址空间仅仅是指程序用来访问信息所用的一系列地址单元的集合,这些单元编号称为逻辑地址(相对地址)。存储空间:指主存中一系列存储信息的物理单元的集合,这些单元的编号称为物理地址或绝对地址。实现动态重定位技术:访问指令或数据时,通过重定位寄存器来自动修改访问存储器的地址。,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,31,2007-8-15
14、15:26 15:26 15:26 15:26,操作系统|存储器管理,32,动态重定位分区分配算法:,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,33,内存紧凑两种时机在某个分区被回收时,如不与空白区邻接,则立即进行内存紧凑。在为作业分配而找不到足够大的空白区时再进行内存紧凑。,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,34,对换技术对换(Swapping)把内存中的暂不运行的进程或暂不使用的数据,换出到外存,把已具备运行条件的进程、或进程所需要的数据和程序,换入内存,并
15、将控制转给它。整体对换(进程对换):用于分时系统,解决内存紧张问题。部份对换(页面对换、分段对换):以请求分页和请求分段存储管理为基础,用于支持虚拟存储系统。,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,35,交换空间的管理文件区:离散分配,提高存储空间的利用率;对换区:连续分配,提高交换速度。对换空间的分配与回收:注意空闲区的拼接交换区分配算法:首次适应算法、循环适应算法和最佳适应算法。,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,36,换入和换出 消息m 中有:分区号i
16、,基址basei,长度sizei,方向和外存交换区中分区始址。SWAPINBegin local mm.base=basei;m.ceiling=basei+sizei;m.direction=“in”;m.source=backupstorebasei;send(m,i),device queue);end,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,37,SWAPOUT(i)Begin local mm.base=basei;m.ceiling=basei+sizei;m.direction=“out”;m.des
17、tination=base of free area on swap area;backupstorebasei=m.destination;send(m,i),device queue);end,4.3 连续分配存储管理方式,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,38,4.4 基本分页存储管理,基本原理实现方法各进程的地址空间分成大小相等的页,把内存的存储空间也分成与页大小相同的片,称为物理块。在分配存储空间时,以块为单位来分配。页面大小:2 i(1K,2K,4K 等),2007-8-15 15:26 15:26 15:26 15:26,操
18、作系统|存储器管理,39,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,40,分页管理存储地址结构,页号P,位移量W,0,12,11,31,若逻辑空间地址为A,页面大小为L,则:,页号P:,页内地址d:,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,41,4.4基本分页存储管理,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,42,4.4基本分页存储管理,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,43,4.4基本分页存
19、储管理,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,44,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,45,地址变换页表 采用动态重定位技术,为作业的每页设置一个重定位寄存器,这些寄存器组成一组,称为页表。其中一个表目为该页在主存中的块号。在主存中专门分配一些存储单元来存放页表。页表始址和长度存放在控制寄存器中。页表的大小页表始址的选择 为了快速地根据页表始址和页号找到所需相应表目,页表的始址应为2 的幂。,4.4基本分页存储管理,2007-8-15 15:26 15:26 15:26 15:26,操作
20、系统|存储器管理,46,地址变换页号P页内地址W31 12 11 0 找到 地址变换(P,W)(B,W)(实际地址)在开始执行(或恢复执行)一个作业时,由系统把页表始址和页表长度放入控制寄存器中。,4.4基本分页存储管理,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,47,地址映射机制,页号 块号 存取控制,页描述符,+,如果页号页表长度,则中断,否则继续.,如果访问非法,则中断,否则继续。,页 号 位移量,虚拟地址 LA,块 号 位移量,物理地址,页表始址 长度,页表寄存器PTR,页 表,块号 存取控制,页描述子,页 号 0 1.,块 号,位移量,
21、2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,48,根据页表的得到逻辑地址100的物理地址:该指令地址=2*1024+100=2148执行:2500=2048+452 P=2 W=452 B=82500单元的物理地址=1024*8+452=8644,4.4请求分页存储管理,例:一个三页长的进程,每页长1K。页号页框号(块号)0 2 1 3 2 8指令:100 LOAD 1,2500 的地址变换过程为:,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,49,快表-采用联想存储器加快查表速度 在地址变换机构中,加
22、入一个高速,小容量、具有并行查询能力的联想存储器,构成快表,存放正运行的进程的当前页号和块号。在快表中找到,直接进行地址转换;未找到,则在主存页表继续查找,并把查到的页号和块号放入联想存储器的空闲单元中,如没有,淘汰最先装入的页号。,4.4基本分页存储管理,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,50,在缓存中查找页 描述子,找到了 则提取。,快表的命中率可高达80%90%。,利用页描述子和位移量计算物理地址,2,在缓存中未找到,从页表中读取,并存入缓存。,利用页描述子和位移量计算物理地址,页号 位移量,虚拟地址,275382。,超高速缓存,页
23、表,01234.,首先访问高速缓存,确定需要的页描述子是否在其中,如果没有发现,再访问存储器中的页表。同时将从页表中读出的页描述子更新高速缓存中旧的页描述子。,具有超高速缓冲存储器的地址变换过程,4.4基本分页存储管理,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,51,分页存储管理算法管理表目作业表(JT)整个系统一张,每个进程对应一个表目内容:页表长度,页表始址,状态存储分块表(MBT)整个系统一张表示方式:链表,位示图页表(PT)每个进程一张分页存储分配算法,4.4基本分页存储管理,2007-8-15 15:26 15:26 15:26 15:
24、26,操作系统|存储器管理,52,多级页表两级页表引入两级页表的结构外层页号P1 内层页号P2 页内地址D 22 21 12 11 0地址变换多级页表结构,4.4基本分页存储管理,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,53,4.4基本分页存储管理,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,54,假设一分页存储系统的页面大小为4K,页表结构如下:外层页号10位,外层页内地址10位,页内地址12位。在逻辑地址空间中,有逻辑单元的地址为0 x7FFFFFFB,请给出该地址的外层页号、内层页内地址,页内
25、地址(十进制表示):,页内地址:=(0 x7FFFFFFB MOD 0 x1000)=FFB=4091内层页内地址:=(0 x7FFFF MOD 0 x400)=3FF=1023外层页号:=INT(0 x7FFFF/0 x400)=1FF=511,2007-8-15 15:26 15:26 15:26 15:26,操作系统|存储器管理,55,分页存储管理方案的评价优点有效解决存储器的零头问题,能在更高的程度上进行多道程序设计,从而相应提高了存储器和CPU 的利用率。缺点采用动态地址变换为增加计算机成本和降低CPU 的速度。表格占内存空间,管理表格要付出时间。存在页内碎片。作业动态的地址空间受内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 原理 第四 存储器 管理
链接地址:https://www.31ppt.com/p-5058087.html