操作系统教学课件:第4章 存储器管理-1

上传人:m**** 文档编号:567974504 上传时间:2024-07-22 格式:PPT 页数:69 大小:1.70MB
返回 下载 相关 举报
操作系统教学课件:第4章 存储器管理-1_第1页
第1页 / 共69页
操作系统教学课件:第4章 存储器管理-1_第2页
第2页 / 共69页
操作系统教学课件:第4章 存储器管理-1_第3页
第3页 / 共69页
操作系统教学课件:第4章 存储器管理-1_第4页
第4页 / 共69页
操作系统教学课件:第4章 存储器管理-1_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《操作系统教学课件:第4章 存储器管理-1》由会员分享,可在线阅读,更多相关《操作系统教学课件:第4章 存储器管理-1(69页珍藏版)》请在金锄头文库上搜索。

1、第四章第四章 存储器管理存储器管理内存管理的功能实现内存分配和回收地址变换内存保护扩充内存容量本章内容1 存储器管理基本概念2 连续分配方式3 离散分配方式4 虚拟存储器及请求分配方式4.1 存储器层次结构4.2 程序的装入和链接4.3 连续分配方式4.4 基本分页存储管理方式4.5 基本分段存储管理方式4.6 虚拟存储器概念4.7 请求分页存储管理方式4.8 页面置换算法4.9 请求分段存储管理方式4.1 存储器层次结构你知道你知道在计算机中存在哪些类在计算机中存在哪些类型的存储器?型的存储器?你知道你知道它们的特点和作用吗?它们的特点和作用吗?寄存器寄存器高速缓存高速缓存主存主存磁盘缓存磁

2、盘缓存磁盘磁盘可移动存储介质可移动存储介质速度越来越快容量越来越小单位价格越来越高4.1 存储器层次结构4.2 程序装入和链接你知道在让你知道在让一个用户程序一个用户程序运运行行之前,需要对它做什么吗之前,需要对它做什么吗?库库目标程序块目标程序块1 1 目标程序块目标程序块2 2第一步第一步链接链接程序程序装入模块装入模块第二步第二步装入装入程序程序第三步第三步用户源程序用户源程序编译编译程序程序4.2 程序装入和链接一、程序的链接根据链接执行的时间不同,将链接分为三种:(1) 静态链接(2) 装入时动态链接(3) 运行时动态链接4.2 程序装入和链接二、程序的装入4.2 程序装入和链接程序

3、地址空间程序地址空间:程序代码所涉及到的地址范围,:程序代码所涉及到的地址范围,也称为相对地址空间或者逻辑地址空间。也称为相对地址空间或者逻辑地址空间。内存地址空间内存地址空间:内存地址范围,也称为绝对地:内存地址范围,也称为绝对地址空间或者物理地址空间。址空间或者物理地址空间。用户程序0990二、程序的装入(1) 绝对装入方式(2) 可重定位(静态重定位)装入方式 (3) 动态运行时(动态重定位)装入方式4.2 程序装入和链接二、程序的装入(1) 绝对装入方式:即按照目标代码中的地址装入程序。4.2 程序装入和链接用户程序0990什么情况下能采用绝对装入什么情况下能采用绝对装入?二、程序的装

4、入(2) 可重定位(静态重定位)装入方式4.2 程序装入和链接重定位重定位:由于一个作业装入到与其地址空间不一:由于一个作业装入到与其地址空间不一致的存储空间所引起的需对其有关地址部分进行致的存储空间所引起的需对其有关地址部分进行调整的过程就称为重定位。调整的过程就称为重定位。静态重定位静态重定位:事先不知用户程序在内存的驻留:事先不知用户程序在内存的驻留位置,装入程序在装入时根据内存的实际情况把位置,装入程序在装入时根据内存的实际情况把相对地址转换为绝对地址,装入到适当的位置。相对地址转换为绝对地址,装入到适当的位置。二、程序的装入(2) 可重定位(静态重定位)装入方式4.2 程序装入和链接

5、365LOAD 1,15000125001100010000365LOAD 1,25005000250010000程序地址空间程序地址空间内存地址空间内存地址空间250012500二、程序的装入(3) 动态运行时(动态重定位)装入方式4.2 程序装入和链接动态重定位动态重定位:为了保证程序在运行过程中,在内:为了保证程序在运行过程中,在内存中的位置可经常改变。装入程序把装入模块装入存中的位置可经常改变。装入程序把装入模块装入内存后,并不立即把装入模块中相对地址转换为绝内存后,并不立即把装入模块中相对地址转换为绝对地址,而是在对地址,而是在程序运行时程序运行时才进行。才进行。为一个用户程序分配一

6、个连续的内存空间。一、单一连续分配二、固定分区分配三、动态分区分配四、可重定位分区分配五、内存的分配和回收4.3 连续分配方式一、单一连续分配最简单的一种存储管理方式,只能用于单用户、单任务的操作系统中。4.3 连续分配方式存储管理方法存储管理方法:将内存分为系统区和用户区。作业:将内存分为系统区和用户区。作业一旦进入内存,就要等待它运行结束后才能释放内一旦进入内存,就要等待它运行结束后才能释放内存。存。系统区系统区用户区用户区用户程序用户程序二、固定分区分配分区分配方式是满足多道程序设计需要的一种最简单的存储管理方法。4.3 连续分配方式存储管理方法存储管理方法:将内存空间划分为若干个固定大

7、:将内存空间划分为若干个固定大小的分区,除小的分区,除OS占一区外,其余的每一个分区装入占一区外,其余的每一个分区装入一道程序。分区的大小可以相等,也可以不等,但一道程序。分区的大小可以相等,也可以不等,但事先必须确定,在运行时不能改变。即分区大小及事先必须确定,在运行时不能改变。即分区大小及边界在运行时不能改变。边界在运行时不能改变。分区说明表分区说明表:以记录分区号、分区大小、分区的:以记录分区号、分区大小、分区的起始地址及状态(已分配或未分配)。起始地址及状态(已分配或未分配)。二、固定分区分配4.3 连续分配方式osp4p1p2 0k 20k 56k 65k125k135k区号区号大小

8、大小起址起址状态状态136k20k已分配已分配29k56k未分配未分配360k65k已分配已分配410k125k已分配已分配分区说明表分区说明表10k20k28k60k180k511k234(1)内存分区图内存分区图os区号大小起址状态18k20k未分配232k28k未分配3120k60k未分配4331k180k未分配(2)分区说明表)分区说明表例:在某系统中,采用固定分区分配管理方式,内存例:在某系统中,采用固定分区分配管理方式,内存分区(单位字节)情况如图所示,现有大小为分区(单位字节)情况如图所示,现有大小为1K、9K、33K、121K的多个作业要求进入内存,试画出它们进的多个作业要求进

9、入内存,试画出它们进入内存后的空间分配情况?入内存后的空间分配情况?三、动态分区分配动态分区分配又称为可变式分区分配,是一种动态划分存储器的分区方法。4.3 连续分配方式存储管理方法存储管理方法:不事先对内存划分分区,而是在:不事先对内存划分分区,而是在作业进入内存时,根据作业的大小动态地建立分区,作业进入内存时,根据作业的大小动态地建立分区,并使分区的大小正好适应作业的需要。因此系统中并使分区的大小正好适应作业的需要。因此系统中分区的大小和数目是可变的。分区的大小和数目是可变的。 特点特点:管理简单,需小量的软件和硬件支持。分区:管理简单,需小量的软件和硬件支持。分区大小与进程的大小相等,从

10、而主存的利用率有所提大小与进程的大小相等,从而主存的利用率有所提高。高。三、动态分区分配1.分区分配中使用的数据结构。4.3 连续分配方式空闲分区表空闲分区表:用来登记系统中的空闲分区:用来登记系统中的空闲分区(分区号分区号,分区起始地址分区起始地址,分区大小及状态分区大小及状态)。 空闲分区链空闲分区链:将系统中的空闲分区链接起来,构:将系统中的空闲分区链接起来,构成空闲分区链。每个空闲分区的起始部分存放相应成空闲分区链。每个空闲分区的起始部分存放相应的控制信息的控制信息(如大小如大小,指向下一空闲分区的指针等指向下一空闲分区的指针等)。三、动态分区分配1.分区分配中使用的数据结构。4.3

11、连续分配方式分区号大小KB起始地址KB1323522352050445空闲分区表三、动态分区分配1.分区分配中使用的数据结构。4.3 连续分配方式352KB空闲分区链头指针空闲分区链头指针空闲分区链三、动态分区分配为了将一个作业装入内存,按照一定的为了将一个作业装入内存,按照一定的分配算法从空闲分区中选分配算法从空闲分区中选 出一个满足作出一个满足作业需求的分区分配给作业,同时修改空业需求的分区分配给作业,同时修改空闲分区表(链)中相应的信息。闲分区表(链)中相应的信息。4.3 连续分配方式(1) 首次适应算法(2) 循环首次适应算法(3) 最佳适应算法(4) 最坏适应算法三、动态分区分配(1

12、) (1) 首次适应算法首次适应算法/ /最先适应算法最先适应算法空闲分区(链)按地址递增的次序排列。在进行内存分配时,从空闲分区表/链首开始顺序查找,直到找到第一个满足其大小要求的空闲分区为止。按照作业大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区表(链)中。4.3 连续分配方式区号区号大小大小起址起址132k20k28k60k3160k100k4331k280k空闲分区表空闲分区表解:解:按首次适应算法, 申请申请100k,分配3号分区,剩下分区为60k,起始地址200K ; 申请申请30k, 分配1号分区,剩下分区为2k,起始地址50K ; 申请申请7k, 分

13、配2号分区,剩下分区为1k,起始地址67K ;其内存分配图及分配后空闲分区表如下例例 :系统中的空闲分区表如下,现有三个作业分别请系统中的空闲分区表如下,现有三个作业分别请求内存空间求内存空间100K、30K及及7K。给出按首次适应算法。给出按首次适应算法的内存分配情况及分配后空闲分区表。的内存分配情况及分配后空闲分区表。4.3 连续分配方式280K区号区号大小大小起址起址12k50k21k67k360k200k4331k280k分配后的空闲分区表分配后的空闲分区表 内存分配图内存分配图0K20K52K68K260K611K50K67K200K(1) 首次适应算法4.3 连续分配方式特点:特点

14、:优先利用内存低地址部分的空闲分优先利用内存低地址部分的空闲分区区,从而保留了高地址部分的大空闲区。但从而保留了高地址部分的大空闲区。但由于低地址部分不断被划分由于低地址部分不断被划分,致使低地址端致使低地址端留下许多难以利用的很小的空闲分区留下许多难以利用的很小的空闲分区(碎片碎片或零头或零头),而每次查找又都是从低地址部分开而每次查找又都是从低地址部分开始始, 增加了查找可用空闲分区的开销。增加了查找可用空闲分区的开销。三、动态分区分配(2) (2) 循环首次适应算法循环首次适应算法/ /下次适应算法下次适应算法由首次适应算法演变而来。在为作业分配内存空间时,不再每次从空闲分区表/链首开始

15、查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直到找到第一个能满足其大小要求的空闲分区为止。按照作业大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区表/链中。4.3 连续分配方式空闲分区表空闲分区表解:解:按循环首次适应算法, 申请申请100k,分配3号分区,剩下分区为60k,起始地址200K; 申请申请30k,分配4号分区,剩下分区为301k,起始地址310K ; 申请申请7k,分配1号分区,剩下分区为25k,起始地址27K ;其内存分配图及分配后空闲分区表如下例例 :系统中的空闲分区表如下,现有三个作业分别系统中的空闲分区表如下,现有三个作业分别请求内存

16、空间请求内存空间100K、30K及及7K。给出按循环首次适。给出按循环首次适应算法的内存分配情况及分配后空闲分区表。应算法的内存分配情况及分配后空闲分区表。区号区号大小大小起址起址132k20k28k60k3160k100k4331k280k区号区号大小大小起址起址125k27k28k60k360k200k4301k310k分配后的空闲分区表分配后的空闲分区表 内存分配图内存分配图27K310K200K0K20K52K68K260K611K60K(2) 循环首次适应算法特点:特点: 使存储空间的利用更加均衡,不致使小使存储空间的利用更加均衡,不致使小的空闲区集中在存储区的一端,但这会导致缺乏的

17、空闲区集中在存储区的一端,但这会导致缺乏大的空闲分区。大的空闲分区。三、动态分区分配(3) (3) 最佳适应算法最佳适应算法空闲分区表/链按容量大小递增的次序排列。在进行内存分配时,从空闲分区表/链的首开始顺序查找,直到找到第一个满足其大小要求的空闲分区为止。即把既满足作业要求又与作业大小最接近的空闲分区分配给作业。4.3 连续分配方式例例 :系统中的空闲分区表如下,现有三个作业分别请系统中的空闲分区表如下,现有三个作业分别请求内存空间求内存空间100K、30K及及7K。给出按最佳适应算法。给出按最佳适应算法的内存分配情况及分配后空闲分区表。的内存分配情况及分配后空闲分区表。分配前的空闲分区表

18、分配前的空闲分区表区号区号大小大小起址起址28k60k132k20k3160k100k4331k280k解:解:按最佳适应算法,分配前的空闲分区表如上表。按最佳适应算法,分配前的空闲分区表如上表。 申请申请100k,分配,分配3号分区,剩下分区为号分区,剩下分区为60k,起始地址起始地址200K; 申请申请30k,分配,分配1号分区,剩下分区为号分区,剩下分区为2k,起始地址,起始地址50K ; 申请申请7k,分配,分配2号分区,剩下分区为号分区,剩下分区为1k,起始地址,起始地址67K ;作业作业100K分配后的空闲分区表分配后的空闲分区表作业作业30K分配后的空闲分区表分配后的空闲分区表作

19、业作业7K分配后的空闲分区表分配后的空闲分区表区号区号大小大小起址起址28k60k132k20k360k200k4331k280k区号区号大小大小起址起址12k50k28k60k360k200k4331k280k区号区号大小大小起址起址21k67k12k50k360k200k4331k280k分配后的空闲分区表分配后的空闲分区表内存分配图内存分配图0K20K52K68K260K611K50K67K200K区号区号大小大小起址起址21k67k12k50k360k200k4331k280k280K(3) 最佳适应算法特点:特点:若存在与作业大小一致的空闲分区,则它必然被选中;若不存在与作业大小一致

20、的空闲分区,则只划分比作业稍大的空闲分区,从而保留了大的空闲分区;往往使剩下的空闲区非常小,从而在存储器中留下许多难以利用的小空闲区(碎片或零头)。三、动态分区分配(4) (4) 最坏适应算法最坏适应算法空闲分区表空闲分区表/ /链按容量大小链按容量大小递减递减的次序排列。的次序排列。在进行内存分配时,从空闲分区表在进行内存分配时,从空闲分区表/ /链的首链的首开始顺序查找,直到找到第一个比作业大开始顺序查找,直到找到第一个比作业大的空闲分区为止。的空闲分区为止。4.3 连续分配方式区号区号大小大小起址起址4331k280k3160k100k132k20k28k60k空闲分区表空闲分区表例例

21、:系统中的空闲分区表如下,现有三个作业分别请求内存空间100K、30K及7K。给出按最坏适应算法的内存分配情况及分配后空闲分区表。4.3 连续分配方式区号大小起址4231k380k3160k100k132k20k28k60k作业作业100K分配后的空闲分区表分配后的空闲分区表区号大小起址4201k410k3160k100k132k20k28k60k作业作业30K分配后的空闲分区表分配后的空闲分区表区号大小起址4194k417k3160k100k132k20k28k60k作业作业7K分配后的空闲分区表分配后的空闲分区表解:解:按最坏适应算法,分配前的空闲分区表如上表。 申请申请100k,分配4号

22、分区,剩下分区为231k,起始地址380K; 申请申请30k,分配4号分区,剩下分区为201k,起始地址410K ; 申请申请7k,分配4号分区,剩下分区为194k,起始地址417K ;分配后的空闲分区表分配后的空闲分区表3内存分配图内存分配图0K20K52K60K280K611K417K区号大小起址4194k417k3160k100k132k20k28k60k68K100K380K410K(4) 最坏适应算法特点:特点:总是挑选满足作业要求的最大的分区分配给作业。这样使分给作业后剩下的空闲分区也较大,可装下其它作业。但由于最大的空闲分区总是因首先分配而划分,当有大作业到来时,其存储空间的申请

23、往往会得不到满足。4.3 连续分配方式1、碎片问题 由于内存的不断分配和回收,内存逐渐被分割成一些零散的空闲存储区,这种内存中无法被利用的存储空间称为“零头”或“碎片”。内部碎片内部碎片:指分配给作业的存储空间中未被利用的部分。如固定分区中存在的碎片。外部碎片外部碎片:指系统中无法利用的小的空闲分区。如动态分区中存在的碎片。4.3 连续分配方式四、可重定位分区分配2 2、碎片问题的解决方法、碎片问题的解决方法拼接拼接/ /紧凑紧凑/ /紧缩技术紧缩技术 将内存中所有作业移到内存一端将内存中所有作业移到内存一端, ,使本来分散的使本来分散的多个小空闲分区连成一个大的空闲区。这种通过移多个小空闲分

24、区连成一个大的空闲区。这种通过移动作业从把多个分散的小分区拼接成一个大分区的动作业从把多个分散的小分区拼接成一个大分区的方法称为拼接或紧凑或紧缩。方法称为拼接或紧凑或紧缩。 拼接时机:分区回收时;当找不到足够大的空拼接时机:分区回收时;当找不到足够大的空闲分区且总空闲分区容量可以满足作业要求时。闲分区且总空闲分区容量可以满足作业要求时。 作业在内存中的位置发生了变化,这就必须对作业在内存中的位置发生了变化,这就必须对其地址加以修改或变换即称为重定位。其地址加以修改或变换即称为重定位。4.3 连续分配方式四、可重定位分区分配动态重定位分区分配算法流程图动态重定位分区分配算法流程图有大于有大于x的

25、的空闲分区吗?空闲分区吗?返回分区号返回分区号空闲分区空闲分区总和大于总和大于x吗?吗?拼接并修改拼接并修改相应数据结构相应数据结构返回返回修改有关修改有关数据结构数据结构按动态分区按动态分区分配方式进行分配分配方式进行分配YYNN无法分配,返回无法分配,返回请求分配一个请求分配一个大小为大小为x的分区的分区可重定位分区分配方式主要特点:可重定位分区分配方式主要特点:可以充分利用存储区中的“零头/碎片”,提高主存的利用率。 但若 “零头/碎片”太多,则拼接频率过高会使系统开销加大。4.3 连续分配方式五、内存的分配和回收1.分配内存 设请求的分区大小为设请求的分区大小为u.sizeu.size

26、,空闲分区的大小为,空闲分区的大小为m.size,m.size,若若m.size-u.sizesize(sizesize是事先规定是事先规定的不再切割的剩余分区的大小的不再切割的剩余分区的大小) ),说明多余部分大,说明多余部分大小,可不再切割,将整个分区分配给请求者;小,可不再切割,将整个分区分配给请求者; 否则,从该分区中按请求的大小划分出一块内存空否则,从该分区中按请求的大小划分出一块内存空间分配出去,余下的部分仍留在空闲分区表间分配出去,余下的部分仍留在空闲分区表/ /链中,链中,然后,将分配区的首址返回给调用者。然后,将分配区的首址返回给调用者。4.3 连续分配方式从头开始查表从头开

27、始查表从该分区中划出从该分区中划出u.size大小的分区大小的分区检索完否?检索完否?返回返回m.sizeu.sizem.size-u.size size将该分区分配给请求者,修改有关数据结构将该分区分配给请求者,修改有关数据结构返回返回将该分区从分区表将该分区从分区表/链中移出链中移出继续检索下一个表项继续检索下一个表项YYYNNN内存分配流程图内存分配流程图2. 回收内存 回收分区与已有空闲分区的相邻情况有以下四种: 1)回收分区上邻接一个空闲分区。 2)回收分区下邻接一个空闲分区。 3)回收分区上下邻接空闲分区。 4)回收分区不邻接空闲分区。回收分区回收分区空闲分区空闲分区(a)空闲分区

28、空闲分区回收分区回收分区(b)空闲分区空闲分区回收分区回收分区空闲分区空闲分区(c)内存回收情况内存回收情况4.3 连续分配方式五、内存的分配和回收实验三、模拟存储分配管理模拟实现最佳分配、最先分配和最坏分配三个存储分配算法中的一个算法。实验学时:4实验课时间:1516周,周一56节实验化整零为一、页和块二、页 表三、逻辑地址结构四、地址变换机构4.4 4.4 基本分页存储管理基本分页存储管理五、快表六、多级页表0110以块为单位以块为单位, ,将程序的将程序的若干页装入到多个可能若干页装入到多个可能不相邻的块中。不相邻的块中。内存空间划分成若干内存空间划分成若干固定大小固定大小的块,各块从的

29、块,各块从0 0开始顺序编号。开始顺序编号。程序划分成若干个程序划分成若干个与与块大小相同块大小相同的页的页, ,各页从各页从0 0开始顺序编号。开始顺序编号。物理内存物理内存01234567程序程序 k一、页和块一、页和块4.4 基本分页存储管理方式物理内存(连续分配)物理内存(连续分配)10页表页表页号页号块号块号物理内存(分页)物理内存(分页)01234567 程序程序 j 程序程序 i41011401程序程序 K程序程序 K2 二、页表(页面映像表)二、页表(页面映像表)4.4 基本分页存储管理方式4.4 基本分页存储管理方式 二、页表(页面映像表)二、页表(页面映像表) 记录了页面在

30、内存中对应的块号;记录了页面在内存中对应的块号;页表一般存放在内存中;页表一般存放在内存中;页表的基址及长度由页表寄存器给出;页表的基址及长度由页表寄存器给出;访问一个字节的数据访问一个字节的数据/ /指令需访问内存指令需访问内存2 2次次( (页表一次页表一次, ,内存一次内存一次),),所以出现内存访问速所以出现内存访问速度降低的问题。度降低的问题。三、逻辑地址结构三、逻辑地址结构问题1:分页存储管理中的逻辑地址是否能用线性地址表示?4.4 基本分页存储管理方式0 00 00 00 00 00 00 00 000000 00 11 01 111110 00 11 01 10 10 10 1

31、0 10 10 10 10 11 0 0 0 0012345678910111213141516000011110 00 11 01 10 00 11 01 100000 00 11 01 111110 00 11 01 1000011110 00 11 01 10 00 11 01 101072一一个个程程序序的的逻逻辑辑地地址址空空间间074.4 基本分页存储管理方式0 00 00 00 00 00 00 00 000000 00 11 01 111110 00 11 01 10 10 10 10 10 10 10 10 11 0 0 0 0012345678910111213141516

32、0 00 11 01 10 00 11 01 100000 00 11 01 111110 00 11 01 10 00 11 01 10 00 11 01 10103030303234一一个个程程序序的的逻逻辑辑地地址址空空间间4.4 基本分页存储管理方式问题1:分页存储管理中的逻辑地址是否能用线性地址表示?问题2:逻辑地址结构如何确定?三、逻辑地址结构三、逻辑地址结构4.4 基本分页存储管理方式0 0k kk+1k+1n-1n-1页号页内位移0 00 00 00 00 00 00 00 000000 00 11 01 111110 00 11 01 10 10 10 10 10 10 10

33、 10 11 0 0 0 0012345678910111213141516000011110 00 11 01 10 00 11 01 100000 00 11 01 111110 00 11 01 1000011110 00 11 01 10 00 11 01 10122 23 34 41 12 20000000000000000000000011011111100011011010101010101010110000012345678910111213141516000110110001101100000001101111110001101100011011000110110123417

34、=24+18=234=22三、逻辑地址结构三、逻辑地址结构4.4 基本分页存储管理方式例:设有一页式存储管理系统,向用户提供设有一页式存储管理系统,向用户提供的逻辑地址空间最大为的逻辑地址空间最大为1616页,每页页,每页2048B2048B,内存总共有内存总共有8 8个存储块,试问逻辑地址至少个存储块,试问逻辑地址至少应为多少位?内存空间有多大?应为多少位?内存空间有多大?4.4 基本分页存储管理方式三、逻辑地址结构三、逻辑地址结构实现从逻辑地址到物理地址的转换4.4 基本分页存储管理方式四、地址变换机构四、地址变换机构问题问题3 3:根据分页的特点,页表的结构:根据分页的特点,页表的结构及

35、作用,以及逻辑地址结构,讨论地及作用,以及逻辑地址结构,讨论地址转换应如何实现?址转换应如何实现? 提示提示1 1:去哪里找到页表?:去哪里找到页表?提示提示2 2:找到页表后,如何使用它?:找到页表后,如何使用它?4.4 基本分页存储管理方式四、地址变换机构四、地址变换机构页号页号页内位移量页内位移量逻辑地址逻辑地址块号块号块内位移量块内位移量物理地址物理地址页表起始地址页表起始地址页表长度页表长度页表寄存器页表寄存器+加法器加法器页号页号 块号块号021321页表页表比较器比较器越界中断越界中断物理地址:物理地址:31024B+100=(3172B)10=(110001100100B)21

36、0110000011001001000001100100311例例: :若在一分页存储管理系统中,某作业的若在一分页存储管理系统中,某作业的页表如表所示,已知页面大小为页表如表所示,已知页面大小为1024B1024B,试,试将逻辑地址将逻辑地址10111011,21482148,50125012转化为相应转化为相应的物理地址?的物理地址?4.4 基本分页存储管理方式四、地址变换机构四、地址变换机构页表页表页号页号块号块号13022316 若在一分页存储管理系统中,某作业的页若在一分页存储管理系统中,某作业的页表如表所示,已知页面大小为表如表所示,已知页面大小为1K1K,即,即1024B1024

37、B,试将逻辑地址,试将逻辑地址13331333和和24482448转化为相应的转化为相应的物理地址?物理地址?4.4 基本分页存储管理方式习题习题页表页表页号页号块号块号130123024.4 基本分页存储管理方式页号页号页内位移量页内位移量逻辑地址逻辑地址块号块号块内位移量块内位移量物理地址物理地址页表起始地址页表起始地址页表长度页表长度页表寄存器页表寄存器+加法器加法器页号页号 块号块号021321页表页表比较器比较器越界中断越界中断4.4 基本分页存储管理方式问题问题4 4:以速度降低近:以速度降低近1/21/2的代价换取内存的代价换取内存利用率的提高是否划算,如何改善?利用率的提高是否

38、划算,如何改善? 也称联想寄存器也称联想寄存器(1)(1)一种特殊高速缓冲寄存器。一种特殊高速缓冲寄存器。(2)(2)其中保存当前进程页表的一部分或全部。其中保存当前进程页表的一部分或全部。(3)(3)首先在快表中寻找逻辑地址的页号,若首先在快表中寻找逻辑地址的页号,若命命中中,就找出其对应的物理块;若,就找出其对应的物理块;若未命中未命中,再,再到页表中查找,并将该表项复制到快表。到页表中查找,并将该表项复制到快表。(4)(4)若快表内容满,则按某种算法淘汰某些页。若快表内容满,则按某种算法淘汰某些页。4.4 基本分页存储管理方式五、快表五、快表4.4 基本分页存储管理方式问题问题5 5:如

39、果一个进程的页表需要占用大:如果一个进程的页表需要占用大于一页的空间,如何管理它?于一页的空间,如何管理它? 4.4 基本分页存储管理方式六、多级页表六、多级页表4.4 基本分页存储管理方式用部首检字法从新华字典里查找汉字用部首检字法从新华字典里查找汉字“郑郑”部首检字表(一)部首目录(15-19页) (二)检字表(20-103页)1画1 一 202 | 212画6 十 237 厂 2321 (在右)89(在右)部2-4画邓 91邗 1755画邯 1756画郑 622页表目录页表目录两级页表结构两级页表结构10111078174214611411514680120121023012102301

40、21023第第0页页页页表表第第1页页页页表表第第n-1页页页页表表0121141151468内存空间内存空间外部页表外部页表4.4 基本分页存储管理方式宿舍楼号宿舍楼号宿舍楼号宿舍楼号n-1宿舍房间号宿舍房间号宿舍房间号宿舍房间号床位号床位号床位号床位号逻辑地址:逻辑地址:地址转换地址转换p1p2d页表页面号页表页面号 页号页号 页内偏移地址页内偏移地址dp2p1页表页面号页表页面号 页号页号 页内地址页内地址外部页表外部页表寄存器寄存器 外部页表外部页表+ 页表页表b d物理地址物理地址两级页表结构两级页表结构4.4 基本分页存储管理方式宿舍楼号宿舍楼号宿舍楼号宿舍楼号宿舍房间号宿舍房间号宿舍房间号宿舍房间号床位号床位号床位号床位号

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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