第3章_存储器管理_第1页
第3章_存储器管理_第2页
第3章_存储器管理_第3页
第3章_存储器管理_第4页
第3章_存储器管理_第5页
已阅读5页,还剩184页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章第三章 存储管理存储管理存储器管理存储器管理是操作系统的重是操作系统的重要的一个部分,它负责要的一个部分,它负责管理管理计算机计算机系统的系统的存储器存储器3.1 计算机系统中的存储器计算机系统中的存储器内内 存存外外 存存高速缓存器(高速缓存器(Cache)存取速度越来越存取速度越来越快快存取容量越来越存取容量越来越小小成本越来越成本越来越大大数据数据寄存器寄存器寄寄存存器器 寄存器(寄存器(Register)是是中央处理中央处理器内器内的的组成部份组成部份,它们可用来,它们可用来暂存暂存指令、数据和地址,常用的有:指指令、数据和地址,常用的有:指令寄存器,通用寄存器,控制寄存令寄存器

2、,通用寄存器,控制寄存器等器等 高高速速缓缓存存cache 高速缓冲存储器高速缓冲存储器Cache是位于是位于CPU与内存之间与内存之间的临时存储器,的临时存储器,它的容量比内存小但它的容量比内存小但交换速度快交换速度快 内内存存 存储容量存储容量较大较大,存取速度,存取速度较较快快。存储单元以。存储单元以字节字节为单位进为单位进行行编址编址。用于存放用户。用于存放用户当前需当前需执行执行的的程序和数据程序和数据,以及,以及操作操作系统系统进行进行控制和管理控制和管理的信息的信息内存内存用户区用户区0n-1操作系统操作系统存储器管理主要指的是对存储器管理主要指的是对内存储器内存储器的管理的管理

3、逻辑地址逻辑地址:用户程序用户程序中使用的地址。中使用的地址。 逻辑地址空间逻辑地址空间:由:由程序中逻辑地址程序中逻辑地址组组成的地址范围叫做逻辑地址空间(成的地址范围叫做逻辑地址空间(相对相对地址地址空间)。空间)。3.2 重定位程序程序A程序程序B程序程序C假设程序假设程序A、B、C分别有分别有100、50、120条指令,问各自的条指令,问各自的逻辑地址空间范围?逻辑地址空间范围?0199014901119 系统为了方便管理内存,对系统为了方便管理内存,对内存内存中每中每个字节单元,从个字节单元,从0开始编号,该编号称开始编号,该编号称为主存储器的为主存储器的绝对地址绝对地址 绝对地址对

4、应的内存空间,绝对地址对应的内存空间,称为称为“物理地址空间物理地址空间”0100700.内存地址空间内存地址空间物理地址物理地址从地址处取从地址处取数到寄存器数到寄存器1 1程序程序A有有701条指令,其逻辑地址空间为?条指令,其逻辑地址空间为?装入内存装入内存 思考:思考:指令指令LOADLOAD的逻辑地址和物理地址是多少?的逻辑地址和物理地址是多少? 数据数据1234512345的逻辑地址和物理地址是多少?的逻辑地址和物理地址是多少? 需要把指令需要把指令LOAD 1, 500LOAD 1, 500中中涉及到地址涉及到地址的量进行修改的量进行修改 12345重定位重定位:我们把对目标程序

5、中的:我们把对目标程序中的指令指令和和数数据据的的地址的修改过程地址的修改过程,称之为,称之为重定位重定位对程序进行重定位的技术按重定位的对程序进行重定位的技术按重定位的时机时机可分为两种:可分为两种:静态重定位静态重定位和和动态重定位动态重定位。地址转换地址转换1.静态重定位静态重定位是指在目标程序是指在目标程序装入内存时装入内存时,由,由装入装入程序程序对目标程序中的指令和数据的地址对目标程序中的指令和数据的地址进行修改进行修改的重定位。的重定位。 对每个程序来说,这种地址变换只是对每个程序来说,这种地址变换只是在在装入时一次性完成装入时一次性完成,在程序运行期间,在程序运行期间不再不再进

6、行重定位。进行重定位。 优点:优点: 无需增加无需增加硬件地址转换机构硬件地址转换机构,便于便于实现程序的静态连接实现程序的静态连接 缺点是:缺点是:程序重定位之后就程序重定位之后就不能再移动不能再移动,这不利于内存空间的有效使用;这不利于内存空间的有效使用;各个用户进程各个用户进程很难共享内存很难共享内存中的中的同一程序的副本。同一程序的副本。 2. 动态重定位动态重定位 是在是在程序执行期间程序执行期间每次访问每次访问内存之前内存之前进行重定位。进行重定位。这种变换是靠这种变换是靠硬件地址变换机构硬件地址变换机构实现实现的,通常采用一个的,通常采用一个重定位寄存器重定位寄存器,其中,其中放

7、有当前正在执行的程序在内存空间中放有当前正在执行的程序在内存空间中的起始地址的起始地址重定位寄存器重定位寄存器 又称又称“基址寄存器基址寄存器”动态重定位的主要优点是:动态重定位的主要优点是: 程序占用的内存空间程序占用的内存空间动态可变动态可变,不必连续存放在一处;不必连续存放在一处; 比较比较容易实现容易实现几个进程对同一程几个进程对同一程序副本的序副本的共享共享使用。使用。 它的主要缺点是需要它的主要缺点是需要附加硬件附加硬件支持,支持,增加了成本。增加了成本。?经过经过 ( )重定位,程序无需改动直接)重定位,程序无需改动直接装入内存,既可执行。装入内存,既可执行。 A 静态重定位静态

8、重定位 B 动态重定位动态重定位 B3.3-3.6 存储管理机制存储管理方案很多,大致把存储管理存储管理方案很多,大致把存储管理方案概括成方案概括成4种:种:分区管理分区管理、分页管理分页管理、分段管理分段管理和和段页式管理段页式管理。对于每一种方。对于每一种方案管理要掌握其基本思想、工作原理和案管理要掌握其基本思想、工作原理和特点。特点。分分区区管管理理单用户连续存储管理单用户连续存储管理 固定分区管理固定分区管理 可变分区管理可变分区管理 主要适用于主要适用于单道批处理系统单道批处理系统。分配策略的基本思想是总体上把内存储器分配策略的基本思想是总体上把内存储器分为分为两个两个分区。一个分区

9、固定分配给分区。一个分区固定分配给操操作系统作系统使用称之为使用称之为“系统区系统区”;另一个另一个分配给分配给用户用户使用,称为使用,称为“用户区用户区”。3.3 单用户连续存储管理单道批处理系统单道批处理系统缺缺 点:点:系统的工作效率系统的工作效率不高不高,资源利用率资源利用率低下低下。若用户作业的相对地址空间比用户区大,若用户作业的相对地址空间比用户区大,那么该作业就无法运行。即那么该作业就无法运行。即大作业无法大作业无法在小内存上运行。在小内存上运行。如何实现内存保护?如何实现内存保护?小贴士小贴士: : 执行执行用户程序用户程序时,时,CPUCPU去某地去某地址址取指令或数据取指令

10、或数据前前先把先把该地址该地址与与界限界限寄存器中值寄存器中值进行进行比较比较,大于大于等于等于该值,可该值,可继继续续执行否则产生执行否则产生地址地址越界中断越界中断 采用这种存储分配策略时,将对用户程序采用这种存储分配策略时,将对用户程序实行静态重定位实行静态重定位1、处理器不能直接访问的存储器是、处理器不能直接访问的存储器是( )A、寄存器、寄存器B、高速缓冲存储器、高速缓冲存储器C、主存储器、主存储器D、光盘、光盘2计算机主存储器中,存储单元的编址计算机主存储器中,存储单元的编址单位是(单位是( )A二进制位二进制位B字节字节C字字D块块DB3、存储管理中的地址转换、存储管理中的地址转

11、换(重定位重定位)指的是指的是( )A、将绝对地址转换成逻辑地址、将绝对地址转换成逻辑地址B、将、将物理地址转换成逻辑地址物理地址转换成逻辑地址C、将逻辑地址转换成绝对地址、将逻辑地址转换成绝对地址D、将、将物理地址转换成相对地址物理地址转换成相对地址C4.价格昂贵、存取速度最快,但容量较小的价格昂贵、存取速度最快,但容量较小的存储器是()存储器是()A.寄存器寄存器 B.高速缓冲存储器高速缓冲存储器C.主存储器主存储器D.辅助存储器辅助存储器5.程序状态字寄存器是属于()程序状态字寄存器是属于()A.指令寄存器指令寄存器 B.通用寄存器通用寄存器C.控制寄存器控制寄存器 D.时钟寄存器时钟寄

12、存器6.处理器中仅设置一个界限寄存器的存储管处理器中仅设置一个界限寄存器的存储管理方式是()理方式是()A.页式存储管理页式存储管理B.可变分区存储管理可变分区存储管理C.固定分区存储管理固定分区存储管理D.单用户连续存储管理单用户连续存储管理ACD7.地址转换是在作业执行前集中完成,执地址转换是在作业执行前集中完成,执行中无需再进行地址转换的定位方式称行中无需再进行地址转换的定位方式称为为_。8.现在常用的辅助存储器中速度最快的是现在常用的辅助存储器中速度最快的是_。9、必须有硬件地址转换机构的地址转换、必须有硬件地址转换机构的地址转换方式称为方式称为_ _ 静态重定位静态重定位硬盘硬盘动态

13、重定位动态重定位 指指预先预先把内存储器中可供分配的把内存储器中可供分配的用用户区划户区划分成分成若干个若干个连续的分区,每个分连续的分区,每个分区的区的尺寸尺寸可以相同,也可以不同。划分可以相同,也可以不同。划分后,内存储器中分区的后,内存储器中分区的个数个数以及每个分以及每个分区的区的尺寸尺寸保持保持不变不变。每个分区中每个分区中只允许装入一个只允许装入一个作业运行。作业运行。3.4 固定分区存储管理38系统区系统区020K第一分区(第一分区(8KB)8KB)第二分区(第二分区(32KB)32KB)第三分区(第三分区(64KB)64KB)第四分区(第四分区(132KB)132KB)256K

14、B内存内存该内存中允许该内存中允许并发执行并发执行的作业最多有几个?的作业最多有几个? 有两个作业有两个作业A、B依次进入内存,依次进入内存,大小分别是大小分别是80K、6K分别装入内存分别装入内存中合适的分区,如何分配内存。中合适的分区,如何分配内存。40系统区系统区020K第一分区(第一分区(8KB)8KB)第二分区(第二分区(32KB)32KB)第三分区(第三分区(64KB)64KB)第四分区(第四分区(132KB)132KB)256KB内存内存作业作业A作业作业B内部碎片内部碎片内部碎片内部碎片分配给分配给用户用户而用户而用户未使用未使用到的内到的内存空间存空间操作系统操作系统设置一张

15、名为设置一张名为“分区分配分区分配表表”的表格,用它的表格,用它记录记录各分区的信息以各分区的信息以及及当前的当前的使用情况。使用情况。 使用标志为“0”时,表示该分区当前是空闲空闲的,作业名作业名,表示该分区已已经分配经分配给该作业使用固定分区存储管理的特点提高提高了内存资源的了内存资源的利用率利用率。对进入分区的作业程序,实行的是对进入分区的作业程序,实行的是静态静态重定位。重定位。在固定分区存储管理中,不仅要在固定分区存储管理中,不仅要防止防止用用户程序对操作系统形成的户程序对操作系统形成的侵扰侵扰,也要防,也要防止止用户程序用户程序与与用户程序之间用户程序之间形成的侵形成的侵扰。因此必

16、须在扰。因此必须在CPUCPU中设置中设置一对一对专用的专用的寄存器寄存器 下限寄存器下限寄存器上限寄存器上限寄存器 CPU CPU欲执行那个作业就把欲执行那个作业就把该作该作业业的的上限和下限地址上限和下限地址装入装入寄存器寄存器,执行指令时,若执行指令时,若下限地址下限地址绝对地址绝对地址上限地址,上限地址,则表示则表示访问合法访问合法,否则产生,否则产生“地地址越界址越界”中断中断如何提高内存空间利用率根据经常出现的根据经常出现的作业的大小和数量作业的大小和数量来划分来划分分区,尽可能使各个分区被充分利用分区,尽可能使各个分区被充分利用划分分区时划分分区时按按分区大小分区大小顺序排列,方

17、便找出顺序排列,方便找出一个能一个能满足作业要求的最小空闲区满足作业要求的最小空闲区分配给它,分配给它,使闲置的空间尽可能的小使闲置的空间尽可能的小按作业对按作业对主存的需求量主存的需求量排成多个排成多个作业队列作业队列47系统区系统区020K第一分区(第一分区(8KB)8KB)第二分区(第二分区(32KB)32KB)第三分区(第三分区(64KB)64KB)第四分区(第四分区(132KB)132KB)256KB内存内存有一批作业需要系统处理,有一批作业需要系统处理,分别需内存分别需内存: :作业名作业名需内存需内存ABCDEF5KB6KB7KB30KB50KB100KB如何执行内存利用率高?如

18、何执行内存利用率高?48操作系统操作系统0dcba分区分区1分区分区3分区分区2L1L2L3作业队列作业队列2作业队列作业队列3作业队列作业队列1缺点:如果到达如果到达作业的尺寸作业的尺寸比任何一个分区的比任何一个分区的长度都长度都大大,那么它就,那么它就无法无法运行。运行。进入分区的进入分区的作业尺寸作业尺寸,不见得与分区的,不见得与分区的大小大小相吻合相吻合,势必产生,势必产生内部碎片内部碎片,引起引起内存资源的浪费。内存资源的浪费。又称动态分区动态分区, 对存储空间的划分是在装入作业时装入作业时进行的,且分区大小分区大小正好适应适应作业的需要需要。3.5 可变分区存储管理主存空间的分配与

19、回收主存空间的分配与回收系统初启系统初启时,内存中除常驻的时,内存中除常驻的操操作系统作系统外,其余的是一个完整的外,其余的是一个完整的大大空闲区空闲区。随后,对调入若干个作业。随后,对调入若干个作业接连划分成几个大小不等的分区分接连划分成几个大小不等的分区分配给它们。但是系统配给它们。但是系统运行一段时间运行一段时间后,随着作业的撤除且相应分区的后,随着作业的撤除且相应分区的释放,原来一整块的存储区会形成释放,原来一整块的存储区会形成空闲分区空闲分区和和已分配区已分配区相间的局面。相间的局面。作业作业A(16KB) A(16KB) 、作业作业B(100KB)、作业、作业C(70KB)依次进入

20、内存依次进入内存此时,作业此时,作业D D(75KB75KB)欲进入内存,分配否?)欲进入内存,分配否? 作业作业要求装入要求装入内存储器时,如果当时内存储器时,如果当时内存储器中内存储器中有足够的有足够的存储空间,那么就存储空间,那么就划分出一个与作业相对地址空间划分出一个与作业相对地址空间同样大同样大小小的的分区分区分配给它。如果分配给它。如果没有足够大没有足够大的的区域,就区域,就拒绝进行分配拒绝进行分配。一段时间后,作业一段时间后,作业B B执行完毕执行完毕思 考在内存使用情况为在内存使用情况为f图情况图情况下,若又有作业(大下,若又有作业(大小为),作业小为),作业(大小为)和作(大

21、小为)和作业()先后提出业()先后提出内存使用申请,分析内内存使用申请,分析内存分配情况存分配情况剩余空间剩余空间为为外部碎片外部碎片外部碎片外部碎片 在存储管理中,把那些无法满足作业在存储管理中,把那些无法满足作业存储请求的空闲区称为存储请求的空闲区称为“外部碎片外部碎片”, ,又又称称”零头零头”。 内部碎片是内部碎片是分配给分配给了用户而用户未用了用户而用户未用的存储区;外部碎片是的存储区;外部碎片是无法分配给无法分配给用户用户使用的存储区。使用的存储区。可变分区的管理方式:为了记录内存记录内存中现有的分区以及各分区以及各分区的类型,操作系统分区的类型,操作系统设置了张表格,为“空闲区表

22、空闲区表”,用来记录空闲区的起始地址起始地址和长度长度可变式分区说明表可变式分区说明表未分配未分配未分配未分配空空空空空空空闲区的分配算法:空闲区的分配算法:在可变分区存储管理中,常用的分区分配算法有:最先适应算法最先适应算法、最佳适应算法最佳适应算法以及最坏适应算法最坏适应算法。最先适应算法实行这种分配算法时,总是把最最先找到的、满足先找到的、满足存储需求的那个空闲分区作为分配的对象。最优最优适应算法适应算法 实行这种分配算法时,总是从当实行这种分配算法时,总是从当前所有前所有空闲区中空闲区中找出一个能够找出一个能够满足满足存储存储需求的需求的、最小的最小的空闲分区作为空闲分区作为分配的对象

23、分配的对象。最坏最坏适应算法 实行这种分配算法时,总是从当前所有空闲区中找出一个能够满足能够满足存储存储需求的、最大最大的空闲分区空闲分区作为分配的对象。若作业若作业D D到达,提出存储需到达,提出存储需求求20KB20KB。试问:如果系统。试问:如果系统实行最先适应算法,应该实行最先适应算法,应该把哪一个空闲分区分配给把哪一个空闲分区分配给它?分配后的内存情形用它?分配后的内存情形用图示出。如果系统实行最图示出。如果系统实行最佳适应算法和最坏适应算佳适应算法和最坏适应算法,应该把哪一个空闲分法,应该把哪一个空闲分区分配给作业区分配给作业D D?思思 考考最先适应算法最先适应算法最佳适应算法最

24、佳适应算法思考:各算法下思考:各算法下Job1的内存分配情的内存分配情况况始址始址 长度长度标志标志adcb16K30K10K14KJob1:13KJob2Job3作业队列作业队列 不同算法下,空闲区表各项不同算法下,空闲区表各项内容的排序内容的排序不同:不同:最先适应算法最先适应算法:按空闲区的:按空闲区的地址顺序从小地址顺序从小到大到大登记在空闲区表中登记在空闲区表中最优适应算法最优适应算法:按空闲区的:按空闲区的长度长度从从小到大小到大登记在空闲区表中登记在空闲区表中最坏适应算法最坏适应算法:按空闲区的:按空闲区的长度长度从从大到小大到小登记在空闲区表中登记在空闲区表中1(多选)可变分区

25、管理的主存分配算法(多选)可变分区管理的主存分配算法中,需要在空闲区表中将空闲区项按长中,需要在空闲区表中将空闲区项按长度以递增或递减次序排列的分配算法是度以递增或递减次序排列的分配算法是( )A、最先适应、最先适应B、循环最先适应、循环最先适应C、最优适应、最优适应D、最坏适应、最坏适应E、随机适应、随机适应CD 回收撤消回收撤消作业所占分区时,要检查作业所占分区时,要检查回收的分区是否与空闲区回收的分区是否与空闲区邻接邻接,若是则,若是则加以合并加以合并,使之成为连续的大分区,并,使之成为连续的大分区,并登记到空闲区表中,再次等待后来作业登记到空闲区表中,再次等待后来作业申请而进行分配。申

26、请而进行分配。思考:当一个作业完成思考:当一个作业完成退出内存退出内存时,时,内存中空闲区的数目内存中空闲区的数目一定增加一定增加吗?吗? 当作业当作业A执行完毕,推出内存时,各图中,空执行完毕,推出内存时,各图中,空闲区个数的变化?闲区个数的变化?图图1作业作业A图图2作业作业A图图3作业作业A图图4作业作业A增加增加不变不变 不变不变 减少减少 3.5.2 地址转换和存储保护采用采用可变分区方式可变分区方式管理时,一般采用管理时,一般采用动态重定位方式动态重定位方式装入作业。装入作业。硬件硬件设设置置两个两个专用的专用的控制寄存器控制寄存器:基址寄基址寄存器存器和和限长寄存器限长寄存器作业

27、在作业在内存的内存的始址始址作业在作业在内存的内存的末址末址73基址寄存器基址寄存器限长寄存器限长寄存器+绝对地址绝对地址a+k?内存内存操作系统操作系统0aa+ba+ca+k+c作业地址空间作业地址空间aa+k0bc+ckca+c是是否否地址越界中断图3-13 地址转换示例优 点:缺 点: 实现了内存共享实现了内存共享算法算法简单简单,容易实现,容易实现存在存在外部碎片外部碎片(零头),浪费内存(零头),浪费内存不能不能实现内存扩充实现内存扩充3.5.3 移动技术移动技术移移动动把作业从一个存储区域把作业从一个存储区域移动到移动到另一个存储区的工作另一个存储区的工作移动的目的集中分散的空闲区

28、集中分散的空闲区便于作业动态扩充内存便于作业动态扩充内存77操作系统操作系统作业作业1空闲区空闲区作业作业2空闲区空闲区作业作业3空闲区空闲区操作系统操作系统作业作业1空闲区空闲区作业作业2空闲区空闲区作业作业3空闲区空闲区作业作业2空闲区空闲区操作系统操作系统作业作业1空闲区空闲区作业作业2空闲区空闲区作业作业3空闲区空闲区作业作业2空闲区空闲区作业作业3空闲区空闲区空闲区空闲区a. a. 分散的空闲区分散的空闲区c. c. 移动作业移动作业3 3后后b. b. 移动作业移动作业2 2后后采用移动技术,需注意:采用移动技术,需注意: 移动会增加移动会增加系统开销系统开销移动是有移动是有条件地

29、条件地操作系统操作系统所占用所占用的系统的系统资源资源和所和所需的需的处理器时间处理器时间,称为称为“系统开销系统开销” 移动一道作业时,应先判移动一道作业时,应先判定是否定是否在与外围设备交换信在与外围设备交换信息息,是,是,不可移动不可移动;否,;否,可可移动移动绪绪 论论 优 点: 缺 点: 实现了内存共享实现了内存共享算法算法简单简单,容易实现,容易实现存在存在外部碎片外部碎片(零头),浪费内存(零头),浪费内存不能不能实现内存扩充实现内存扩充1、可以采用静态重定位方式转换地址的、可以采用静态重定位方式转换地址的管理内存方案是管理内存方案是( )A、页式管理、页式管理B、页式虚拟管理、

30、页式虚拟管理C、可变分区管理、可变分区管理D、固定分区管理、固定分区管理D2减少可变分区存储管理中碎片的措施减少可变分区存储管理中碎片的措施是(是( )A增大分区长度增大分区长度B增加分区数目增加分区数目C采用移动技术采用移动技术D减少分区长度减少分区长度3可变分区存储管理中,通常分配最快可变分区存储管理中,通常分配最快的算法是(的算法是( )A最先适应分配最先适应分配B最优适应分配最优适应分配C最坏适应分配最坏适应分配D随机分配随机分配CA4CPU中与地址转换有关的寄存器是中与地址转换有关的寄存器是( )A指令寄存器指令寄存器B基址寄存器基址寄存器C程序状态字寄存器程序状态字寄存器D界限寄存

31、器界限寄存器E上界、下界寄存器上界、下界寄存器BD5辅助存储器通常指的是辅助存储器通常指的是_。6单用户连续存储管理是采用单用户连续存储管理是采用_方方式进行地址转换的。式进行地址转换的。7可变分区存储管理中,可用一张空闲可变分区存储管理中,可用一张空闲区表来管理各分区的分配和回收,当某区表来管理各分区的分配和回收,当某作业完成,回收该分区时发现空闲区表作业完成,回收该分区时发现空闲区表项不仅不增加,还减少了一项,说明该项不仅不增加,还减少了一项,说明该作业作业_。8、采用可变分区管理主存时,移动技术、采用可变分区管理主存时,移动技术可以集中分散的空闲区,还可便于作业可以集中分散的空闲区,还可

32、便于作业_。硬盘硬盘静态重定位静态重定位有上邻空闲区和下邻空闲区有上邻空闲区和下邻空闲区动态扩充内存动态扩充内存 前言:分前言:分区管理方案区管理方案要求作业放要求作业放入入一个连续一个连续的的存储区,存储区,导致内存利导致内存利用率用率低低举例说明举例说明剩余空间剩余空间为为思考:当前内存空闲容量为思考:当前内存空闲容量为10K,但在分区,但在分区管理方案下,能否装入大小为管理方案下,能否装入大小为8KB的程序?的程序?7KB3KB绪绪 论论3.6 3.6 页式虚拟存储管理页式虚拟存储管理l 在分区管理中,一个作业总要求占用一个在分区管理中,一个作业总要求占用一个连续连续的的内存区,因而产生

33、了内存区,因而产生了碎片(零头)碎片(零头)问题。问题。l 分页存储管理有两种:分页存储管理有两种:简单分页简单分页存储管理和存储管理和请请求分页求分页存储管理。存储管理。绪绪 论论n3.6.1 页式存储管理的基本原理页式存储管理的基本原理 内存空间分块内存空间分块:首先把整个内存:首先把整个内存储器划分成储器划分成大小相等大小相等的许多分区,每个的许多分区,每个分区称为分区称为“块块”或或“内存块内存块”或或“页页块块”。对每。对每块块进行进行编号编号,从,从0开始,分别开始,分别为为0,1,2,n-1。块块 号号绪绪 论论内存空间分块内存空间分块绪绪 论论n 逻辑地址逻辑地址空间空间分页分

34、页:然后按照然后按照内存块内存块的的尺尺寸寸对该空间进行划分,称之为对该空间进行划分,称之为“页页”。这种划。这种划分是在分是在系统内部系统内部进行的,用户感觉不到这种划进行的,用户感觉不到这种划分,也对其进行编号。分,也对其进行编号。编号从编号从0开始开始,第,第0 0页、页、第第1 1页、第页、第2 2页、页、 页页 号号绪绪 论论绪绪 论论n页面(或块)的大小由页面(或块)的大小由硬件硬件决定,一般决定,一般为为2的若干次幂的若干次幂。n例如:例如:IBM AS/400规定的页面大小为规定的页面大小为512B Intel 80386的页面大小为的页面大小为4KB绪绪 论论内存分配原则内存

35、分配原则:在分页的情况下,:在分页的情况下,系统以系统以块块为单位,把内存分配给作业或为单位,把内存分配给作业或进程,并且一个进程的若干页进程,并且一个进程的若干页一次性一次性的的全部全部原封不动地原封不动地分别装入物理上分别装入物理上不相邻不相邻的的内存块内存块中。中。绪绪 论论例例 题题 某作业大小为某作业大小为4096个字节,某计算机系统个字节,某计算机系统划定的页面大小为划定的页面大小为1024个字节,假定系个字节,假定系统分配给该作用的内存统分配给该作用的内存块号分别为块号分别为40号、号、45、46、100。装入内存后。装入内存后如图所示如图所示绪绪 论论3.6.3 3.6.3 页

36、表和地址转换页表和地址转换 页表页表:系统又为每个进程设立一张:系统又为每个进程设立一张页页面映像表面映像表,简称,简称页表页表,作用实现从,作用实现从页号页号到物理块号到物理块号的的地址映射地址映射。绪绪 论论n页表包含两项信息:页表包含两项信息:页号页号及其对应的及其对应的块号块号,以,以此来实现页号到内存块号的地址映射此来实现页号到内存块号的地址映射绪绪 论论l逻辑地址表示逻辑地址表示 用户逻辑地址空间中的每一个逻辑地址,都用户逻辑地址空间中的每一个逻辑地址,都可以用可以用“页号,页内位移页号,页内位移”来表示。即数对来表示。即数对(p , d)其地址结构如下图所示其地址结构如下图所示思

37、考:上述地址结构中,最多允许有多少页,页长为多大?思考:上述地址结构中,最多允许有多少页,页长为多大?绪绪 论论n8、若页式存储管理中的地址格式为、若页式存储管理中的地址格式为n则它的最大页号和最大页内地址是(则它的最大页号和最大页内地址是( )nA、256和和65536B、255和和65535nC、256和和65535D、255和和6553623 1615 0页号页内地址B绪绪 论论n35.设某页式存储管理主存的地址是设某页式存储管理主存的地址是20位,其位,其中中12位是页内地址,则该系统的页面长度为位是页内地址,则该系统的页面长度为_字节,最大可存放字节,最大可存放256页。页。4096

38、绪绪 论论n例如:某作业大小为例如:某作业大小为4096B,若系统页面大小,若系统页面大小为为1024个字节,则该作业被分为个字节,则该作业被分为4个页面。个页面。作业逻辑地址空间作业逻辑地址空间010232047307140950 0 页页1 1 页页2 2 页页3 3 页页思考:逻辑地思考:逻辑地址为址为20002000和和40004000的指令对的指令对应的页号和偏应的页号和偏移量是多少移量是多少2000(1,976)4000(3,928)绪绪 论论如果给的逻辑地址是如果给的逻辑地址是A,页面大小为,页面大小为L,则页号则页号p和页内地址和页内地址d的计算公式是:的计算公式是: 页号p

39、= A/L; 页内位移d = A % L其中,其中,/用于整数表示整除,用于整数表示整除,% 是求余操是求余操作作绪绪 论论例如:设某系统的页面大小为例如:设某系统的页面大小为1KB,A=3456,则则p = , d= . 用一个数对(用一个数对(p,d)来表来表示,就是(示,就是( , )33843 384绪绪 论论将用户的将用户的逻辑地址转换逻辑地址转换成数对(成数对(页号、页号、页内位移)页内位移);按照;按照页号页号p去查页表找到该去查页表找到该页对应的页对应的物理块号物理块号b;由;由块起始地址块起始地址和和页页内位移内位移相加形成相加形成绝对地址绝对地址。即物理地址即物理地址w=b

40、L + d地址变换地址变换绪绪 论论n某系统页长为某系统页长为2KB,某作业被分为,某作业被分为3个页面,个页面,页表内容如下,求作业逻辑地址为页表内容如下,求作业逻辑地址为1500,6000的指令对应的物理地址的指令对应的物理地址页页 号号块块 号号0 页页1 页页2 页页5号块号块3号块号块10号块号块逻辑地址逻辑地址1500(0,1500)W=f*L+dW=5*2048+1500=11740查页表,得块号查页表,得块号 绪绪 论论n在采用页式存储管理的系统中,某一作业在采用页式存储管理的系统中,某一作业J的的逻辑地址空间为逻辑地址空间为4页(每页页(每页2048个字节),且个字节),且已

41、知该作业的页面映象表(即页表)如下:已知该作业的页面映象表(即页表)如下: 则有效逻辑地址则有效逻辑地址4865所对应的物理地址是所对应的物理地址是_。12K+769绪绪 论论n直接映像的页地址转换直接映像的页地址转换l页表在页表在内存内存中存放中存放l当进程被调度到处理器上运行时,操作系统自当进程被调度到处理器上运行时,操作系统自动的将该进程的页表动的将该进程的页表起始地址起始地址装入装入页表地址页表地址寄存器寄存器中中内存内存用户区用户区绪绪 论论A地地址址映映像像机机构构查页表查页表得得块块号号得得物物理理地地址址CPU取得所需指令(数据)需要访问内存几次?取得所需指令(数据)需要访问内

42、存几次?绪绪 论论CPUCPU要要两次两次访问内存才得到所访问内存才得到所要的数据;一次访问内要的数据;一次访问内存存查页查页表表;一次访问内存取;一次访问内存取所需数据所需数据绪绪 论论n举例:举例:假定块的尺寸为假定块的尺寸为1KB,作业,作业A的相对地的相对地址空间为址空间为3KB大小,作业大小,作业A进入系统后被划分进入系统后被划分成成3页,调用逻辑地址为页,调用逻辑地址为3000处的一条指令。处的一条指令。页表内容如下,试分析地址变换过程页表内容如下,试分析地址变换过程67逻辑地址逻辑地址 A=3000A=3000(2, 952)查页表,得块号查页表,得块号7 7块号与页内地址拼接得

43、物理地址块号与页内地址拼接得物理地址710249528120绪绪 论论n快表加速地址转换快表加速地址转换为了为了提高提高地址的地址的转换速度转换速度,可用,可用高速高速缓冲存储器缓冲存储器存放页表的一部分,简称存放页表的一部分,简称“快表快表”。 绪绪 论论l在地址转换过程中,根据页号在地址转换过程中,根据页号同时同时查查“快表快表”和和“页表页表”,若该页,若该页已登记已登记在在快表快表中,就中,就自动停止自动停止在内存中查在内存中查“页表页表”的工作的工作。绪绪 论论 查查页页表表查快表查快表得到块号得到块号利用快表的地址转换过程利用快表的地址转换过程 绪绪 论论通过查快表就能实现内存访问

44、的成功率为通过查快表就能实现内存访问的成功率为“命中率命中率”,命中率越高,性能就越好。命中率越高,性能就越好。快表快表命中率统计命中率统计绪绪 论论 原理原理依据:由于程序运行中有依据:由于程序运行中有局部性局部性的的特点,即刚被访问过的单元在特点,即刚被访问过的单元在很短的时很短的时间内间内还将被访问(还将被访问(时间的局部性时间的局部性)和刚)和刚被访问过的单元的被访问过的单元的邻近单元邻近单元也将被访问也将被访问(空间的局部性空间的局部性)。)。存存在在循循环环指令执指令执行的顺行的顺序性序性绪绪 论论n3.6.4 页的页的共享和保护共享和保护 页式存储管理有利于实现多个作业共享程页式

45、存储管理有利于实现多个作业共享程序和数据。需序和数据。需共享的信息共享的信息只需在内存中只需在内存中保留一保留一个副本个副本,各作业,各作业共享共享这些信息时可使他们各自这些信息时可使他们各自的的页表中有关表目页表中有关表目指向指向共享信息共享信息所在的所在的主存块主存块号号 绪绪 论论页号页号标志标志块号块号012321854210358只执行只执行只读只读读读/写写读读/写写页号页号标志标志块号块号012321820072542只执行只执行读读/写写只读只读读读/写写作业作业1页表页表作业作业2页表页表共享程序共享程序共享数据共享数据218块块542块块内内 存存页面共享页面共享绪绪 论论

46、n注意:注意: 对于共享的页面,若是对于共享的页面,若是程序程序,则只,则只可执行可执行;若是若是数据数据,则只,则只可读可读。33.页式存储管理中,对于多个作业共享的块,页式存储管理中,对于多个作业共享的块,限制各作业限制各作业_。写入信息写入信息绪绪 论论n3.6.2 页式主存空间的分配与回收页式主存空间的分配与回收分页式存储管理是以分页式存储管理是以“块块”为单位进行存为单位进行存储分配的,在有存储请求时,只要系统中有储分配的,在有存储请求时,只要系统中有足足够的空闲块够的空闲块存在,就存在,就可以进行存储分配可以进行存储分配,系统采用系统采用存储分块表存储分块表来记录每个存储块的状来记

47、录每个存储块的状态。态。绪绪 论论绪绪 论论n内存分配:当有存储请求时,就查存储分块表。内存分配:当有存储请求时,就查存储分块表。只要表中只要表中“空闲块总数”记录的数目记录的数目大于请求的存储量,就的存储量,就可以进行进行分配,同时把表中分配,同时把表中分配出去的块的状态改为出去的块的状态改为“已分配”。n内存回收:当作业完成内存回收:当作业完成归还存储块时,就把表存储块时,就把表中相应块的状态改为中相应块的状态改为“空闲”。绪绪 论论n具体实现时可用一张具体实现时可用一张“位示图位示图”来构成主存分来构成主存分配表。配表。例如:某内存有例如:某内存有64块,则可用块,则可用8个字(字长为个

48、字(字长为8)的位示图来表示。的位示图来表示。位示图07号块 815号块 1623号块 2431号块 00000000000111111111101110010101思考:思考:1号字号字5号位表示内存块号是多少,该块状态为。?号位表示内存块号是多少,该块状态为。? 18号块的状态为?号块的状态为?绪绪 论论n块号块号=字号字号字长字长+位号位号n字号字号=块号块号/字长字长n位号位号=块号块号 mod 字长字长块号块号除以除以字长字长,商商为字号,为字号,余数余数为位号为位号绪绪 论论n49页式管理中,用一张页式管理中,用一张16个字长为个字长为32位的位的字构成的位示图分配字构成的位示图分

49、配512个主存页面,编号习个主存页面,编号习惯都从惯都从0开始。开始。n试问:(试问:(1)399号页面对应的字号和位号;号页面对应的字号和位号;n(2)9号字的号字的18号位对应的页面号。号位对应的页面号。(1 1)字号)字号=399/32=12 =399/32=12 位号位号=399%32=15=399%32=15(2 2)页面号)页面号= =字号字号字长字长+ +位号位号=9 =9 32+18=30632+18=306绪绪 论论n简单简单分页式存储管理的特点分页式存储管理的特点平均每一个作业要平均每一个作业要浪费半页大小浪费半页大小的存储块。的存储块。47.页式存储管理中是否存在碎片?请

50、说明理由。页式存储管理中是否存在碎片?请说明理由。 思考:思考:作业大小为作业大小为5500B5500B,系统设定页长为,系统设定页长为1KB1KB则该作业被分为则该作业被分为6 6页,需页,需6 6个内存块,存在内存浪个内存块,存在内存浪费费内零内零头头绪绪 论论作业虽然可以作业虽然可以不占据连不占据连续的续的存储区,但是每次存储区,但是每次仍然要求仍然要求一次全部一次全部进入进入内存。因此,如果作业内存。因此,如果作业很大,其存储需求大于很大,其存储需求大于内存,仍然存在内存,仍然存在小内存小内存不能运行大作业不能运行大作业的问题。的问题。绪绪 论论作 业假定某页式管理系统主存容量为假定某

51、页式管理系统主存容量为64KB,分成,分成16块,块块,块号分别为号分别为0,1,2,,15.某作业有某作业有4页,其页号为页,其页号为0,1,2,3,被分别装入主存的,被分别装入主存的2,4,1,6号块。问:号块。问:(1)该作业的总长度是多少字节)该作业的总长度是多少字节(2)求逻辑地址为)求逻辑地址为3100的指令所在的内存块号及其偏的指令所在的内存块号及其偏移量移量(3)给出逻辑地址()给出逻辑地址(0,100),(),(1,50),(),(2,0),(),(3,60),请计算出相应的内存地址),请计算出相应的内存地址绪绪 论论 覆盖和交换技术覆盖和交换技术覆盖覆盖和和交换交换技术都是

52、实现存储管理技术。技术都是实现存储管理技术。主要用来解决在主要用来解决在较小的较小的存储存储空间空间中运行中运行大作业大作业时遇到的时遇到的矛盾问题矛盾问题。3.6.5 什么是虚拟存储器绪绪 论论n(1)覆盖技术覆盖:是指覆盖:是指同一主存区可以被可以被不同的的程序段重复使用。使用。 通常一个作业由通常一个作业由若干个功能上相互独立功能上相互独立的的程序段组成,让那些组成,让那些不会同时执行的程序段执行的程序段共用同一个同一个主存区。因此,我们把可以。因此,我们把可以相互覆盖的程序段叫做叫做覆盖。而把可。而把可共享的主存区叫叫做做覆盖区。绪绪 论论子程序子程序D(200k)子程序子程序F(30

53、0k) 主程序主程序A (200k)覆盖区覆盖区1(400k)覆盖覆盖 区区0(500k)内内存存区区用户的结构化程序区子程序子程序B(500k)子程序子程序 C(300k)子程序子程序E(400k)主程序主程序A(200k)节节省省多多少少空空间间?绪绪 论论覆盖技术要求用户指明指明作业各模块间的调调用结构用结构,增加用户的负担。目前主要用于小型小型系统系统的系统程序的内存管理上,MS-DOSMS-DOS系统中,也采用了覆盖技术。绪绪 论论n交换技术交换技术 交交 换换:就是系统根据需要把主存中:就是系统根据需要把主存中暂时不暂时不运行运行的某个的某个(或某些或某些)作业作业部分或全部部分或

54、全部移到移到外存外存,而把外存中的某个而把外存中的某个(或某些或某些)作业移到相应的主作业移到相应的主存区,并使其投入运行。所以,交换技术也叫存区,并使其投入运行。所以,交换技术也叫对换对换或或滚进滚出滚进滚出(roll-in,roll-out)。)。绪绪 论论虚虚拟拟存存储储器器 采用采用某种技术,使得用,使得用户户感觉到的内存容量比其的内存容量比其实际容量大的多的逻辑模型大的多的逻辑模型绪绪 论论 基本思想基本思想:是用:是用软件技术软件技术(动态地址映像(动态地址映像机构)和硬件(辅存)技术把机构)和硬件(辅存)技术把内存内存与与外存外存这两这两级存储器当成级存储器当成一级存储器一级存储

55、器来用,从而来用,从而给用户给用户提提供了一个比供了一个比内存内存也比任何应用程序也比任何应用程序大得多大得多的的虚虚拟拟存储器存储器磁盘磁盘内内存存CPU程序部分装入程序部分装入绪绪 论论n虚拟内存的最大容量,受两个条件的制约:虚拟内存的最大容量,受两个条件的制约: 指令中指令中地址长度地址长度 辅助存储器辅助存储器容量容量3232位的地址结构所能提供的最大位的地址结构所能提供的最大虚拟内存容量为虚拟内存容量为绪绪 论论思考n虚拟存储器的最大容量是由(虚拟存储器的最大容量是由( )决定的?)决定的? A 内、外存容量之和内、外存容量之和 B 计算机系统的地址结构计算机系统的地址结构 C 作业

56、的相对地址空间作业的相对地址空间 D 作业的绝对地址空间作业的绝对地址空间32位地址结构最大可表示(位地址结构最大可表示( )虚拟内存容)虚拟内存容量量B2324G绪绪 论论是基于分页式存储管理的一种虚拟存储器。是基于分页式存储管理的一种虚拟存储器。请求分页存储器技术是在简单分页技术基础上请求分页存储器技术是在简单分页技术基础上发展起来的,二者根本区别在于请求分页提供发展起来的,二者根本区别在于请求分页提供虚拟存储器虚拟存储器。 3.6.6 3.6.6 页式虚拟存储管理的实现页式虚拟存储管理的实现绪绪 论论n实现原理:实现原理:它与分页式存储管理它与分页式存储管理相同的是:的是:内存空间划分内

57、存空间划分“块块”逻辑地址空间逻辑地址空间划分成划分成“页页”以以“块块”为单位进行分配为单位进行分配绪绪 论论它与分页式存储管理它与分页式存储管理不同的是:运行时,并是:运行时,并不把整个作业程序一起把整个作业程序一起都装入到内存,而到内存,而只装入目前目前要用的若干页,其他页仍然保存在若干页,其他页仍然保存在辅助存储器里。里。不完全不完全装入装入绪绪 论论运行过程中,逻辑地址被转换成数对:(页号,运行过程中,逻辑地址被转换成数对:(页号,页内位移)。页内位移)。根据根据页号查页表时,如果该页已时,如果该页已经经在内存,则访问内存,则访问内存,继续运行;如果该页;如果该页不在内存,运行就无法

58、继续下去。产生,运行就无法继续下去。产生“缺页中断”,此时,就要根据该页号把它从辅助存此时,就要根据该页号把它从辅助存储器里储器里调入内存,以保证程序的运行。,以保证程序的运行。绪绪 论论逻辑地址逻辑地址A(p, d)查页表查页表 查页表,在内存否?查页表,在内存否? 否否缺页中断缺页中断 得块号,然后得块号,然后与偏移量拼接与偏移量拼接的物理地址的物理地址是是绪绪 论论n页表机制页表机制1 1:在内存:在内存0 0:不在内存:不在内存页页 号号标标 志志主存块号主存块号磁盘上的位置磁盘上的位置绪绪 论论地址变换和缺页中断的处理地址变换和缺页中断的处理缺页中断缺页中断页面淘汰页面淘汰绪绪 论论

59、n2. 2. 页面调度页面调度 “页面调度页面调度” :也称为“页面淘汰”,指发生缺页时缺页时,如果内存中已经没有空闲块没有空闲块,那么就必须在内存中选择一页选择一页,然后把它调出内存调出内存,以便为即将调入即将调入的页面让出块空间,让出块空间,这一过程称为页面调度页面调度。页面调度是由页面调度是由 “ “缺页中断缺页中断”引起的!引起的! “缺页中断缺页中断”一定会引起的页面淘汰?一定会引起的页面淘汰? 绪绪 论论n缺页中断缺页中断不一定不一定引起页面淘汰。只有当内存中引起页面淘汰。只有当内存中没有空闲块没有空闲块时,缺页中断才会引起页面淘汰。时,缺页中断才会引起页面淘汰。n常见的页面淘汰策

60、略有:常见的页面淘汰策略有:“先进先出先进先出页面淘汰页面淘汰算法算法”、“最近最久未使用最近最久未使用页面淘汰算法页面淘汰算法”、“最近最不经常用最近最不经常用页面淘汰算法页面淘汰算法”以及以及“最优最优页面页面淘汰算法淘汰算法”等。等。绪绪 论论n先进先出先进先出页面淘汰算法先进先出(先进先出(FIFOFIFO)页面淘汰算法:是进行页面淘)页面淘汰算法:是进行页面淘汰时,总是把汰时,总是把最早最早进入内存的页面作为进入内存的页面作为淘汰的对象淘汰的对象。n比如,给出一个作业运行时的页面走向为:比如,给出一个作业运行时的页面走向为:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论