计算机操作系统课件(第四版)第四五章

上传人:ni****g 文档编号:567923471 上传时间:2024-07-22 格式:PPT 页数:106 大小:1.48MB
返回 下载 相关 举报
计算机操作系统课件(第四版)第四五章_第1页
第1页 / 共106页
计算机操作系统课件(第四版)第四五章_第2页
第2页 / 共106页
计算机操作系统课件(第四版)第四五章_第3页
第3页 / 共106页
计算机操作系统课件(第四版)第四五章_第4页
第4页 / 共106页
计算机操作系统课件(第四版)第四五章_第5页
第5页 / 共106页
点击查看更多>>
资源描述

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

1、第四章第四章存储器管理存储器管理4.1存储器的层次结构存储器的层次结构4.2程序的装入和链接程序的装入和链接4.3连续分配存储连续分配存储管理管理方式方式4.4对换对换4.5分页存储管理方式分页存储管理方式4.5分段存储管理方式分段存储管理方式2021/6/414.1存储器的层次结构存储器的层次结构4.1.1多级存储器结构多级存储器结构4.1.2主存储器与寄存器主存储器与寄存器4.1.3高速缓存和磁盘缓存高速缓存和磁盘缓存2021/6/424.1.1多级存储器结构多级存储器结构存储层次至少应有三级:存储层次至少应有三级:CPU寄存器、主存、辅存寄存器、主存、辅存寄存器寄存器高速缓存高速缓存主存

2、主存磁盘缓存磁盘缓存磁盘磁盘可移动存储介质可移动存储介质CPU寄存器寄存器主存主存辅存辅存图图4-1存储层次示意图存储层次示意图价格价格高高低低速度速度快快慢慢容量容量小小大大2021/6/434.1.2主存储器与寄存器主存储器与寄存器1、主存储器、主存储器主存也称可执行存储器。主存也称可执行存储器。CPU可从其中取指令和数可从其中取指令和数据,数据能从主存读取并装入到寄存器中,或从寄据,数据能从主存读取并装入到寄存器中,或从寄存器存入到主存。存器存入到主存。2、寄存器、寄存器寄存器访问速度最快。其长度以字为单位。寄存器访问速度最快。其长度以字为单位。2021/6/444.1.3高速缓存和磁盘

3、缓存高速缓存和磁盘缓存1、高速缓存(、高速缓存(cache)容量大于寄存器,访问速度快于内存。容量大于寄存器,访问速度快于内存。Cache分类:分类:一级一级cache紧靠内存,速度最高,容量最小。紧靠内存,速度最高,容量最小。二级二级cache容量稍大,速度也稍低。容量稍大,速度也稍低。2、磁盘缓存、磁盘缓存磁盘缓存本身并磁盘缓存本身并不是不是一种实际存储介质。一种实际存储介质。实质:实质:利用利用主存主存中的存储空间,来暂存从磁盘中中的存储空间,来暂存从磁盘中读出或写入的信息读出或写入的信息2021/6/454.2程序的装入和链接程序的装入和链接从源程序到程序执行从源程序到程序执行地址空间

4、的概念地址空间的概念重定位的概念重定位的概念程序的装入程序的装入程序的链接程序的链接2021/6/461、从源程序到程序执行、从源程序到程序执行编译:编译程序编译:编译程序l由编译程序(由编译程序(CompilerCompiler)将用户源代码编译)将用户源代码编译成若干个目标模块。成若干个目标模块。链接:链接程序链接:链接程序l由链接程序(由链接程序(LinkerLinker)将编译后形成的一组)将编译后形成的一组目标模块,以及它们所需要的库函数链接在目标模块,以及它们所需要的库函数链接在一起,形成装入模块。一起,形成装入模块。装入:装入程序装入:装入程序l由装入程序(由装入程序(Loade

5、rLoader)将装入模块复制到内)将装入模块复制到内存中。存中。库库汇编汇编编译编译主主子子1子子2目标模块目标模块链接程序链接程序装入模块装入模块库库主主子子1子子2装入程序装入程序内存内存库库主主子子1子子22021/6/472、地址空间的概念、地址空间的概念物理(绝对)地址物理(绝对)地址程序执行程序执行l每个内存单元的固定顺序地址(编号)。每个内存单元的固定顺序地址(编号)。l内存内存:由字或字节组成的一维线性地址空间:由字或字节组成的一维线性地址空间逻辑(相对)地址逻辑(相对)地址装入(汇编编译)装入(汇编编译)l被链接装配(或汇编、编译)后的目标模块被链接装配(或汇编、编译)后的

6、目标模块所限定的地址的集合;所限定的地址的集合;l相对于某个相对于某个基准量基准量(通常为:(通常为:0)的编址。)的编址。物理地址物理地址内存内存000000000100002.0100002200主主子子1子子2主主子子1子子2逻辑地址逻辑地址装入模块装入模块0000.1200主主子子1子子2相对地址相对地址源程序源程序/单个目标模块单个目标模块0005000003000004002021/6/48重定位重定位l概念:在装入时对目标程序中指令和数据的概念:在装入时对目标程序中指令和数据的修改过程称为重定位。修改过程称为重定位。l即,逻辑地址变换为物理地址的过程。即,逻辑地址变换为物理地址的

7、过程。重定位的类型重定位的类型l静态重定位:静态重定位:地址变换是在装入时一次完地址变换是在装入时一次完成的,以后不再改变。成的,以后不再改变。l动态重定位:动态重定位:地址变换是在程序指令执行地址变换是在程序指令执行时进行的。时进行的。作业地址空间作业地址空间内存空间内存空间装入装入365LOAD 1,25005000250000001000365LOAD 1,2500150001250010000110003、重定位的概念、重定位的概念365LOAD 1,12500150001250010000110002021/6/49BR:重定位寄存器:重定位寄存器VR:变址寄存器变址寄存器00202

8、1/6/4104、程序的链接、程序的链接链接链接:l把一个程序相关的一组目标模块和系统调用模块把一个程序相关的一组目标模块和系统调用模块(库函数)链接形成一个整体(库函数)链接形成一个整体装入模块的过装入模块的过程。程。具体工作具体工作:l对相对地址的修改;变换外部调用符号。对相对地址的修改;变换外部调用符号。链接方式分类链接方式分类:l静态链接静态链接l装入时动态链接装入时动态链接l运行时动态链接运行时动态链接模块模块ACallB;Return;0L-1模块模块BCallC;Return;0M-1模块模块C;Return;0N-1链接链接模块模块AJSR”L”;Return;0L-1模块模块

9、BJSR”L+M”;Return;LL+M-1模块模块C;Return;L+ML+M+N-1装入模块装入模块2021/6/4115、程序的装入、程序的装入含义:含义:就是把链接好的装入模块装入就是把链接好的装入模块装入“内存内存”。装入方式分类:装入方式分类:l绝对装入绝对装入l可重定位装入(静态重定位)可重定位装入(静态重定位)l动态运行时装入(动态重定位)动态运行时装入(动态重定位)提示:提示:通常链接、装入程序是一体的。通常链接、装入程序是一体的。2021/6/4124.3连续分配存储管理方式连续分配存储管理方式为用户程序分配一个连续的内存空间。曾被广泛应为用户程序分配一个连续的内存空间

10、。曾被广泛应用,且现在仍被采用。用,且现在仍被采用。l单一连续分配单一连续分配l固定分区分配固定分区分配l动态分区分配动态分区分配l基于顺序搜索的动态分区分配算法基于顺序搜索的动态分区分配算法l基于索引搜索的动态分区分配算法基于索引搜索的动态分区分配算法l动态可重定位分区分配动态可重定位分区分配2021/6/4134.3.1单一连续分配单一连续分配基本思想基本思想l把内存分为系统区和用户区,系统区供把内存分为系统区和用户区,系统区供OS使用,使用,通常放在低址部分;系统区以外的全部内存空通常放在低址部分;系统区以外的全部内存空间是用户区。间是用户区。特点特点l只能用于单用户、单任务的只能用于单

11、用户、单任务的OS中。中。l软件简单,硬件要求低(无需存储保护)软件简单,硬件要求低(无需存储保护)实例实例lCP/M,MS-DOS,RT-11DOS内存分区内存分区CP/M内存分配内存分配系统参数区系统参数区BIOS CCPBDOS系统区系统区系统区系统区2021/6/4144.3.2固定分区分配固定分区分配最简单的一种可运行最简单的一种可运行多道程序多道程序的存储管理方式。的存储管理方式。1 1、划分分区的方法、划分分区的方法l分区大小相等分区大小相等: 缺乏灵活性,用于控制多个相同对象的系统缺乏灵活性,用于控制多个相同对象的系统l分区大小不等:分区大小不等: 多个较小分区、适量中等分区、

12、少量大分区多个较小分区、适量中等分区、少量大分区2 2、内存分配管理、内存分配管理l将分区按大小排队将分区按大小排队l建立分区使用表建立分区使用表起址、大小、状态起址、大小、状态l程序装入时,由内存分配程序检索分区使用表,程序装入时,由内存分配程序检索分区使用表,找到符合要求的分区,并进行标记。找到符合要求的分区,并进行标记。2021/6/415系统区系统区分区分区1分区分区4分区分区5分区分区2分区分区3系统区系统区分区分区1分区分区4分区分区5分区分区2分区分区3作业作业1作业作业2作业作业3已使用已使用已使用已使用已使用已使用作业作业1进入,大小进入,大小30K作业作业2进入,大小进入,

13、大小500K作业作业3进入,大小进入,大小8K2021/6/4164.3.3、动态分区分配、动态分区分配根据进程的实际需要,根据进程的实际需要,动态动态的分配内存空间的分配内存空间1、内存管理方式(数据结构):、内存管理方式(数据结构):l空闲分区表空闲分区表序号、起址、大小等项序号、起址、大小等项l空闲分区链空闲分区链双向链表双向链表前前向向指指针针+2N0 后后向向指指针针+2N0 N个字节个字节可用可用空闲链表结构空闲链表结构2021/6/4172、动态分区分配算法(、动态分区分配算法(4.3.44.3.5)4.3.4基于顺序搜索的动态分区分配算法基于顺序搜索的动态分区分配算法l首次适应

14、算法首次适应算法:空闲分区按起址递增次序排列,:空闲分区按起址递增次序排列,从头开始直至找到第一个满足要求的空闲分区。从头开始直至找到第一个满足要求的空闲分区。特点:内存低端会留下小的空闲区,高端有大的空特点:内存低端会留下小的空闲区,高端有大的空闲区;闲区;l循环首次应算法循环首次应算法:从上次分配的位置之后开始查:从上次分配的位置之后开始查找。找。特点:使内存的空闲分区均匀,但缺乏大的空闲特点:使内存的空闲分区均匀,但缺乏大的空闲分区;分区;2021/6/418l最佳适应算法最佳适应算法:空闲分区按大小递增的次序排列,:空闲分区按大小递增的次序排列,从头开始找到第一个满足要求的空闲分区。从

15、头开始找到第一个满足要求的空闲分区。缺点:会留下大量小碎片。缺点:会留下大量小碎片。l最坏适应算法最坏适应算法:空闲分区按大小递减的次序排列,:空闲分区按大小递减的次序排列,最前面的最大的空闲分区就是找到的分区。最前面的最大的空闲分区就是找到的分区。优点:分配后剩下的可用空间比较大优点:分配后剩下的可用空间比较大缺点:一段时间后就不能满足对于较大空闲区的分缺点:一段时间后就不能满足对于较大空闲区的分配要求。配要求。2021/6/4194.3.5基于索引搜索的动态分区分配算法基于索引搜索的动态分区分配算法l1、快速适应算法、快速适应算法:空闲分区按容量大小进行分:空闲分区按容量大小进行分类。对于

16、每一类具有相同容量的所有空闲空间分类。对于每一类具有相同容量的所有空闲空间分区,单独设立一个空闲分区链表。在内存中设立区,单独设立一个空闲分区链表。在内存中设立一张管理索引表,每个表项对应一种空闲分区类一张管理索引表,每个表项对应一种空闲分区类型。型。优点:查找效率高。保留大分区也不会产生碎片优点:查找效率高。保留大分区也不会产生碎片缺点:分区归还主存时算法复杂。缺点:分区归还主存时算法复杂。2021/6/420 2、伙伴系统、伙伴系统:分区(已分配和空闲)大小均为:分区(已分配和空闲)大小均为2的的k次幂(次幂(1=k=m),2m 为可分配内存大小。为可分配内存大小。l对对不连续的空闲分区,

17、按分区大小进行分类。对不连续的空闲分区,按分区大小进行分类。对具有相同大小的所有空闲分区,单独设立一个空闲具有相同大小的所有空闲分区,单独设立一个空闲分区双向链表,即会存在分区双向链表,即会存在k个空闲分区链表。个空闲分区链表。l分配时分配时,设需分配长度为,设需分配长度为n,找,找2i分区链的分区,分区链的分区,使使2i-1nu.size?m.size-u.sizesize?划出划出u.size大小的分区大小的分区修改有关的数据结构修改有关的数据结构返回返回将该分区从链表中移出将该分区从链表中移出继续检索下一个表项继续检索下一个表项YYYNNN内存分配流程内存分配流程2021/6/424内存

18、回收时的情况内存回收时的情况情况情况1:情况情况2:情况情况3:情况情况4:2021/6/4254.3.6、可重定位分区分配、可重定位分区分配1、动态重定位的引入、动态重定位的引入l随着系统接收的作业的增加,内存中连续的大块随着系统接收的作业的增加,内存中连续的大块分区不复存在,产生了大量的分区不复存在,产生了大量的“碎片碎片”。l新的作业无法装入到每个新的作业无法装入到每个“碎片碎片”小分区上运行,小分区上运行,但所有碎片的空间总和可能大于需求。但所有碎片的空间总和可能大于需求。l通过通过“拼接拼接”或或“紧凑紧凑”来来实现程序的浮动实现程序的浮动(动态重定位动态重定位)。)。2021/6/

19、426OS区区Job2Job4Job3Job1Job5Job6Job7“零头零头”碎片碎片OS区区Job2Job4Job3Job1Job5Job6Job7OS区区Job2Job4Job3Job1Job5Job6Job7“零头零头”碎片碎片2021/6/427 2、动态重定位的实现、动态重定位的实现l必须由硬件地址变换机构支持实现必须由硬件地址变换机构支持实现重定位重定位Rl重定位寄存器:存放程序在内存中的起始地址。重定位寄存器:存放程序在内存中的起始地址。处理机一侧处理机一侧存储器一侧存储器一侧作业作业J内存内存365LOAD 1, 2500500025001000365LOAD 1, 250

20、0150001250010000110002500相对地址相对地址10000重定位重定位寄存器寄存器00002021/6/428优缺点分析优缺点分析l优点:优点:消除了消除了“碎片碎片”,提高了内存利用率,同,提高了内存利用率,同时提高了系统效率。时提高了系统效率。l缺点:缺点:需要动态重定位需要动态重定位“硬件硬件”机构支持,增加机构支持,增加了系统成本,并轻度降低了程序执行速度,了系统成本,并轻度降低了程序执行速度,“紧紧凑凑”处理增加了系统开销。处理增加了系统开销。3、可重定位分区分配算法、可重定位分区分配算法 与动态分区分配算法基本相同,但增加了紧凑功能与动态分区分配算法基本相同,但增

21、加了紧凑功能动态重定位分区分配算法流程动态重定位分区分配算法流程查找空闲分区链表第一项查找空闲分区链表第一项找到可用分区?找到可用分区?按动态分区方式按动态分区方式进行分配进行分配修改有关的修改有关的数据结构数据结构返回分区号返回分区号及首批及首批进行紧凑进行紧凑形成连续空闲区形成连续空闲区YYNN请求分配请求分配u.size分区分区空闲分区和空闲分区和=u.size?修改有关的修改有关的数据结构数据结构无法分配无法分配返回返回2021/6/4291、对换的引入、对换的引入l对换的定义对换的定义P135l目的:用于解决内存不足的问题;目的:用于解决内存不足的问题;l对换的类型:对换的类型:整体

22、对换:以进程为单位的对换整体对换:以进程为单位的对换部分对换:以部分对换:以“页页”或或“段段”为单位的对换为单位的对换2、对换空间的管理、对换空间的管理外存的划分:文件区、对换区外存的划分:文件区、对换区管理方式:空闲分区表、空闲分区链管理方式:空闲分区表、空闲分区链分配算法:首次适应法、循环首次适应法、分配算法:首次适应法、循环首次适应法、最佳适应法最佳适应法4.4、对换、对换(Swapping)2021/6/4303、进程的换出与换入、进程的换出与换入l进程的换出进程的换出l选择处于阻塞状态且优先级最低的进程选择处于阻塞状态且优先级最低的进程l将该进程的程序和数据传送道磁盘的对换区上将该

23、进程的程序和数据传送道磁盘的对换区上l回收内存空间,修改该进程的回收内存空间,修改该进程的PCBl进程的换入进程的换入l定时查看进程状态定时查看进程状态l将处于就绪态的换出时间最久的进程换入内存将处于就绪态的换出时间最久的进程换入内存2021/6/431例如:例如:在分时系统中,一台主机,多台终端,每个在分时系统中,一台主机,多台终端,每个用户得到的内存有限,因此可利用外存作为补充。用户得到的内存有限,因此可利用外存作为补充。内存内存就绪队列就绪队列时间片到(换出)时间片到(换出)调调度度换入换入2021/6/4324.5基本分页存储管理方式基本分页存储管理方式 连续分配方式的不足,促使人们产

24、生了离散分连续分配方式的不足,促使人们产生了离散分配的管理思想。从而引入了配的管理思想。从而引入了“分页分页”分配管理的管分配管理的管理方式。分为:基本分页(纯分页)和支持虚存管理方式。分为:基本分页(纯分页)和支持虚存管理的请求分页管理。理的请求分页管理。l页面与页表页面与页表l地址变换机构地址变换机构l两级和多级页表两级和多级页表l基本分页的特点基本分页的特点2021/6/4334.5.1、页面与页表、页面与页表1、页面、页面l页面和物理块(页框页面和物理块(页框/架):顺序编号,页内碎片架):顺序编号,页内碎片l页面大小页面大小:2n Bytes 一般在:一般在:512B 8/32K2、

25、地址结构、地址结构逻辑地址逻辑地址物理地址物理地址页内地址页内地址d物理块号物理块号P 位移量位移量W页号页号P例如:例如:位移量(页内地址)位移量(页内地址)W页号页号P3112110每页大小为每页大小为4KB,地址空间最多允许有,地址空间最多允许有1M页页01234567891110内存内存第第0页页第第1页页第第2页页第第3页页第第4页页第第5页页第第6页页用户作业用户作业02K-1第第2页页(页长(页长2K)02K-14号页架号页架(页长(页长2K)2021/6/434l页号页号P和页内地址和页内地址d的的计算公式计算公式PINTA/LINT:整除函数:整除函数dAMODLMOD:取余

26、函数:取余函数(A:逻辑地址空间中的地址,:逻辑地址空间中的地址,L:页面大小):页面大小)l例如:例如:某系统的页面大小为某系统的页面大小为1KB,地址,地址A=2170B,则求得,则求得P=2,d=1223、页表、页表页面映像表页面映像表l数据结构:页号、块号、存取控制项数据结构:页号、块号、存取控制项l页表作用:实现从页号到物理块号的地址映射。页表作用:实现从页号到物理块号的地址映射。01234567891110内存内存第第0页页第第1页页第第2页页第第3页页第第4页页第第5页页第第6页页用户作业用户作业块号块号页号页号1051169453327120页表页表0000,0000,0000

27、,0000,0101 ,0001,0000,0000第第3页页256字节的物理地址(页大小:字节的物理地址(页大小:4K)第第0页页第第1页页第第2页页第第3页页第第4页页第第5页页第第6页页第第0页页第第1页页第第2页页第第3页页第第4页页第第5页页第第6页页2021/6/4354.5.2、地址变换机构、地址变换机构1、基本的地址变换机构、基本的地址变换机构l地址变换机构的任务:实现地址映射,即从逻辑地地址变换机构的任务:实现地址映射,即从逻辑地址到物理地址的变换过程。址到物理地址的变换过程。l页表存放在内存系统区的一个连续空间中;页表存放在内存系统区的一个连续空间中;lPCB和页表寄存器和

28、页表寄存器PTR中存有页表在内存的首地址中存有页表在内存的首地址和页表长度;和页表长度;地址映射过程:(如图)地址映射过程:(如图)l自动的将逻辑地址分为页号和页内地址自动的将逻辑地址分为页号和页内地址l根据页号查询页表:页表首地址根据页号查询页表:页表首地址+页号页号* *表项长度;表项长度;2021/6/436页表始址页表始址页表长度页表长度页表寄存器页表寄存器页表页表块号块号页号页号5332712052018物理地址物理地址32018逻辑地址逻辑地址越界中断越界中断l找到该页对应的物理块号,装入物理地址寄存器找到该页对应的物理块号,装入物理地址寄存器l将页内地址送入物理地址寄存器。将页内

29、地址送入物理地址寄存器。2021/6/4372、具有快表的地址变换机构、具有快表的地址变换机构l快表(联想寄存器)快表(联想寄存器)具有并行查询能力的高速具有并行查询能力的高速缓冲寄存器缓冲寄存器l空间大小:空间大小:几几K到几百到几百K,只含有部分页表项,只含有部分页表项(16512个)个)l快表与页表同时访问;快表与页表同时访问;l地址映射过程:地址映射过程:l将页号将页号P送入快表,若有此页号,则读出该页对应送入快表,若有此页号,则读出该页对应的物理块号;若无,则访问页表的物理块号;若无,则访问页表l将物理块号送入地址寄存器,并将此页表项存入快将物理块号送入地址寄存器,并将此页表项存入快

30、表。若快表已满,则换出一个不再用的页表项表。若快表已满,则换出一个不再用的页表项页表始址页表始址页表长度页表长度页表寄存器页表寄存器页表页表块号块号页号页号5332712031250物理地址物理地址21250逻辑地址逻辑地址越界中断越界中断快表快表块号块号页号页号2051145320输输入入寄寄存存器器2021/6/4384.5.3、两级和多级页表、两级和多级页表两级页表两级页表l解决大页表占用大的连续存储空间的问题;解决大页表占用大的连续存储空间的问题;l将在内存中离散分配的页表再建立一张页表,将在内存中离散分配的页表再建立一张页表,称为外层页表。称为外层页表。l逻辑地址:逻辑地址:外层页号

31、外层页号+外层页内地址外层页内地址+页内地址页内地址l增设外层页表寄存器,存放外层页表的始址增设外层页表寄存器,存放外层页表的始址外部页表外部页表块号块号页号页号321078110110页表分页页表分页11223120211130012311211310112021/6/439外部页表外部页表外部页表外部页表寄存器寄存器物理地址物理地址外部页号外部页号P1外部页内地址外部页内地址P2逻辑地址逻辑地址页内地址页内地址d页表页表具有两级页表的地址变换机构具有两级页表的地址变换机构2021/6/440基本分页的特点:基本分页的特点:优点优点:l存在页内碎片,但碎片相对较小,内存利用率较高存在页内碎片

32、,但碎片相对较小,内存利用率较高l实现了离散分配,消除了程序浮动;实现了离散分配,消除了程序浮动;缺点缺点:l需要专门的硬件支持,尤其需要专门的硬件支持,尤其“快表快表”;l内存访问的效率下降。内存访问的效率下降。2021/6/4414.6分段存储管理方式分段存储管理方式分段管理思想的引入分段管理思想的引入基本原理基本原理地址变换地址变换分段与分页的主要区别分段与分页的主要区别段页式存储管理方式段页式存储管理方式2021/6/4424.6.1、分段管理思想的引入、分段管理思想的引入分段存储管理方式主要是为了满足用户和程序员分段存储管理方式主要是为了满足用户和程序员的下述需要:的下述需要:方便编

33、程:方便编程:LOAD1,A|;信息共享:共享的实现以是信息的逻辑单位为基础信息共享:共享的实现以是信息的逻辑单位为基础信息保护:同样是对逻辑单位进行保护信息保护:同样是对逻辑单位进行保护动态增长:如数据段动态增长:如数据段动态链接:运行时调入内存并链接动态链接:运行时调入内存并链接2021/6/4434.6.2、基本原理、基本原理1、分段、分段l作业(逻辑地址)空间分段,每个段都有名字:作业(逻辑地址)空间分段,每个段都有名字:主程序段、子程序段、数据段、栈段等主程序段、子程序段、数据段、栈段等l逻辑地址:二维地址(段号,段内地址)逻辑地址:二维地址(段号,段内地址)l每个段装入内存中的一个

34、连续的内存空间每个段装入内存中的一个连续的内存空间2、段表、段表l段号、段基址、段长度等段号、段基址、段长度等l每个段在段表中占一个表项每个段在段表中占一个表项l段表寄存器:存放段表的起址和长度段表寄存器:存放段表的起址和长度l利用段表实现地址映射利用段表实现地址映射内存内存第第0段段第第1段段第第2段段第第3段段用户作业用户作业段表段表基址基址段长段长150K35K500K9K300K20K100K42K3210段号段号第第0段段第第1段段第第2段段第第3段段2021/6/4443、基本分段管理的地址变换、基本分段管理的地址变换l与基本分页管理的变换机构和过程类似。与基本分页管理的变换机构和

35、过程类似。段表寄存器段表寄存器l存放段表的起始地址和段表长度;存放段表的起始地址和段表长度;越界访问控制越界访问控制l逻辑地址的段号与段表长度比较;l段内地址与段表中保存的段长比较;2021/6/445段表始址段表始址 段表长度(段表长度(4)段表寄存器段表寄存器153705物理地址物理地址段号段号3105逻辑地址逻辑地址越界中断越界中断段表段表基址基址段长段长150K35K500K9K300K20K100K42K3210段号段号内存内存150*1024=153600153600+105=1537052021/6/4464、分段与分页的主要区别、分段与分页的主要区别页是信息的物理单位,段是信息

36、的逻辑单位;页是信息的物理单位,段是信息的逻辑单位;页的大小固定,段的大小动态变化;页的大小固定,段的大小动态变化;分页系统中的逻辑地址空间是一维的,分段系分页系统中的逻辑地址空间是一维的,分段系统中的是二维的。统中的是二维的。2021/6/447内存内存段表段表基址基址段长段长240K40K80K160K10段号段号editorJob1Job1数据数据数据数据进程进程1editorJob2Job2数据数据数据数据进程进程2基址基址段长段长380K40K80K160K10段号段号editorJob1Job1数据数据数据数据Job2Job2数据数据数据数据分段系统易实现信息共享:分段系统易实现信

37、息共享:4.6.3、信息共享、信息共享2021/6/448内存内存页表页表editor1data1data1进程进程1data1data1进程进程2editor2editor40editor1editor2editor40data10data10data10data10editor1data1data1data1data1editor2editor40data10data10data10data100212260617071802021/6/449例例1:已知某分页系统,主存容量为已知某分页系统,主存容量为64k,页面大小为,页面大小为1k,对一个,对一个4页大的作业,第页大的作业,第0、1、

38、2、3页被分配到内页被分配到内存的存的2、4、6、7块中。块中。求:将十进制的逻辑地址求:将十进制的逻辑地址1023、2500、4500转换成物转换成物理地址。理地址。解解:(1)1023/1K,得到页号为,得到页号为0,页内地址,页内地址1023。又又对应的物理块号为对应的物理块号为2,故物理地址为,故物理地址为2*1k+1023=3071(2)2500/1K,得到页号为,得到页号为2,页内地址,页内地址452。又又对应的物理块号为对应的物理块号为6,故物理地址为,故物理地址为6*1k+452=6596(3)4500/1K,得到页号为,得到页号为4,页内地址,页内地址404。因为页号不小于页

39、表长度,故产生越界中断。因为页号不小于页表长度,故产生越界中断。2021/6/450例例2:对于如下所示的段表,请将逻辑地址(对于如下所示的段表,请将逻辑地址(0,137),),(1,4000),(),(2,3600),(),(5,230)转换成物理地)转换成物理地址。址。解解:(1)段号段号0段表长,且段表长,且137段长段长10k,故段号、段,故段号、段内地址全部合法。得物理地址为内地址全部合法。得物理地址为50k+137=51337解解:(2)段号段号1段长段长3k,因,因此产生越界中断。此产生越界中断。解解:(3)段号段号2段表长,且段表长,且3600段长段长5k,故段号、段,故段号、

40、段内地址全部合法。得物理地址为内地址全部合法。得物理地址为70k+3600=75280解解:(4)段号段号5段表长,故段号不合法。产生越界中断。段表长,故段号不合法。产生越界中断。2021/6/451段号段号段号段号S S段内页号段内页号段内页号段内页号P P页内地址页内地址页内地址页内地址WW4.6.4、段页式存储管理方式、段页式存储管理方式基本思想基本思想l结合分页和分段技术;结合分页和分段技术;l分页:有效提高内存利用率分页:有效提高内存利用率l分段:很好的满足用户需求分段:很好的满足用户需求原理原理l对内存进行分页(物理块对内存进行分页(物理块/页架);页架);l对用户作业先分段,各段

41、再分页。对用户作业先分段,各段再分页。地址结构与地址变换地址结构与地址变换l段号、段内页号、页内地址三部分段号、段内页号、页内地址三部分l段表和页表段表和页表2021/6/452主程序段主程序段数据段数据段子程序段子程序段2021/6/453段表始址段表始址段表始址段表始址段表长度段表长度段表长度段表长度段表段表13021110页表始址页表始址页表长度页表长度状态状态段号段号段表寄存器段表寄存器页表页表03121110存储块号存储块号状态状态页号页号页表页表1110存储块号存储块号状态状态页号页号2021/6/454段表始址段表始址段表始址段表始址段表长度段表长度段表长度段表长度段表寄存器段表

42、寄存器逻辑地址逻辑地址页号页号页号页号P P页内地址页内地址页内地址页内地址段号段号段号段号S S段表段表块号块号块内地址块内地址物理地址物理地址越界中断越界中断页表页表xxxx2xxxx1xxxx0页表始址页表始址段号段号210存储块号存储块号页号页号2021/6/455段页式存储管理的优缺点段页式存储管理的优缺点l同时具备分段和分页管理的优点:分散存储,同时具备分段和分页管理的优点:分散存储,内存利用率较高;便于代码或数据共享,支持内存利用率较高;便于代码或数据共享,支持动态链接等。动态链接等。l访问效率下降:一次访问转换成了三次访问。访问效率下降:一次访问转换成了三次访问。2021/6/

43、456第五章第五章虚拟存储器虚拟存储器5.1虚拟存储器概述虚拟存储器概述5.2请求分页存储管理方式请求分页存储管理方式5.3页面置换算法页面置换算法5.4抖动与工作集抖动与工作集5.5请求分段存储管理方式请求分段存储管理方式2021/6/4575.1虚拟存储器概述虚拟存储器概述虚拟存储器的引入虚拟存储器的引入虚拟存储器的实现方法虚拟存储器的实现方法虚拟存储器的特征虚拟存储器的特征2021/6/4585.1.1、虚拟存储器的引入、虚拟存储器的引入1、内存空间的限制、内存空间的限制l常规存储器管理方式的特点:一次性、驻留性常规存储器管理方式的特点:一次性、驻留性l情况一:内存空间装不下的大作业无法

44、运行情况一:内存空间装不下的大作业无法运行l情况二:作业量大时,无法允许更多的作业并发情况二:作业量大时,无法允许更多的作业并发2021/6/4592、局部性原理、局部性原理l1968年,年,P.Denningl在一较短的时间内,程序的执行仅限于某个部分;在一较短的时间内,程序的执行仅限于某个部分;它所访问的存储空间也局限于某个区域。它所访问的存储空间也局限于某个区域。l提出的论点:提出的论点:(1)程序的顺序执行)程序的顺序执行(2)过程调用深度有限)过程调用深度有限(3)程序中的循环结构)程序中的循环结构(4)程序中有许多对数据结构的处理)程序中有许多对数据结构的处理l局限性还表现在:局限

45、性还表现在:(1)时间局限性)时间局限性(2)空间局限性)空间局限性2021/6/4603、虚拟存储器的定义、虚拟存储器的定义l物理上不存在,利用海量外存进行内存物理上不存在,利用海量外存进行内存“空间空间”扩展。扩展。l允许作业部分装入,需要时再临时装入所需的部允许作业部分装入,需要时再临时装入所需的部分。直到作业退出,某些部分也有可能没被装入分。直到作业退出,某些部分也有可能没被装入过。过。l定义:定义:虚拟存储器是指具有虚拟存储器是指具有请求调入功能请求调入功能和和置换置换功能功能,能从,能从逻辑逻辑上对内存容量加以扩充的一种存上对内存容量加以扩充的一种存储器系统。储器系统。2021/6

46、/4615.1.2、虚拟存储器的实现方法、虚拟存储器的实现方法必须建立在离散分配的内存管理技术基础上。必须建立在离散分配的内存管理技术基础上。1、请求分页系统、请求分页系统l基本分页系统基本分页系统+请求调页功能请求调页功能+页面置换功能页面置换功能页式虚拟存储系统页式虚拟存储系统l硬硬/软件支持:请求分页的页表机制、缺页中断机软件支持:请求分页的页表机制、缺页中断机构、动态地址变换机构。构、动态地址变换机构。2021/6/4622、请求分段系统、请求分段系统l基本分段系统基本分段系统+请求调段功能请求调段功能+分段置换功能分段置换功能段式虚拟存储系统段式虚拟存储系统l硬硬/软件支持:请求分段

47、的段表机制、缺段中断机构、软件支持:请求分段的段表机制、缺段中断机构、动态地址变换机构。动态地址变换机构。2021/6/4635.1.3、虚拟存储器的特征、虚拟存储器的特征多次性多次性l一个作业被分成多次调入内存运行;一个作业被分成多次调入内存运行;对换性对换性l允许在作业的运行过程中进行换进、换出;允许在作业的运行过程中进行换进、换出;虚拟性虚拟性l能从逻辑上扩充内存容量,使用户能从逻辑上扩充内存容量,使用户“看到看到”的内存容量远大于实际大小。的内存容量远大于实际大小。l该特征是以上两个特征为基础的。该特征是以上两个特征为基础的。2021/6/4645.2请求分页存储管理方式请求分页存储管

48、理方式请求分页中的硬件支持请求分页中的硬件支持内存分配策略和分配算法内存分配策略和分配算法请求分页策略请求分页策略2021/6/4655.2.1、请求分页中的硬件支持、请求分页中的硬件支持1、页表机制、页表机制l用于地址转换;用于地址转换;l增加页表项:增加页表项:状态位状态位P:用于指示该页是否已调入内存:用于指示该页是否已调入内存访问字段访问字段A:记录本页在一段时间内被访问的次数:记录本页在一段时间内被访问的次数修改位修改位M:该页在调入内存后是否被修改过:该页在调入内存后是否被修改过外存地址外存地址:指示该页在外存上的地址:指示该页在外存上的地址2021/6/4662、缺页中断机构、缺

49、页中断机构l所要访问的页不在内存时,便引发一次缺页中断所要访问的页不在内存时,便引发一次缺页中断缺页中断与其他中断的不同:缺页中断与其他中断的不同:l在指令执行期间产生和处理中断信号在指令执行期间产生和处理中断信号l一条指令在执行期间可能产生多次缺页中断一条指令在执行期间可能产生多次缺页中断654321A:B:Copy Ato B指令指令2021/6/4673、地址变换机构、地址变换机构l情况一:情况一:首先检索快表,若找到,修改页表项中的访问位,首先检索快表,若找到,修改页表项中的访问位,然后利用页表项中给出的物理块号和页内地址,然后利用页表项中给出的物理块号和页内地址,形成物理地址。形成物

50、理地址。访问字段访问字段A:记录本页在一段时间内是否被访问:记录本页在一段时间内是否被访问2021/6/468地址变换机构地址变换机构l情况二:情况二:如果在快表中未找到相应的页表项,检索内存中如果在快表中未找到相应的页表项,检索内存中的页表,查看页表中的状态位,若该页已经调入的页表,查看页表中的状态位,若该页已经调入内存,填写快表,当快表满时,应淘汰一个页表内存,填写快表,当快表满时,应淘汰一个页表项;若该页尚未调入内存,产生缺页中断,请求项;若该页尚未调入内存,产生缺页中断,请求OS把该页调入。把该页调入。状态位状态位P:用于指示该页是否已调入内存:用于指示该页是否已调入内存2021/6/

51、4695.2.2、内存分配策略和分配算法、内存分配策略和分配算法1、最小物理块数的确定、最小物理块数的确定l保证进程正常运行所需的最少物理块数;保证进程正常运行所需的最少物理块数;l与硬件结构有关,取决于指令的格式、功能和寻与硬件结构有关,取决于指令的格式、功能和寻址方式。址方式。2、物理块的分配策略、物理块的分配策略l(1)固定分配局部置换:)固定分配局部置换:为进程分配的物理块为进程分配的物理块数在整个运行期间都不再改变。若某个进程发生数在整个运行期间都不再改变。若某个进程发生缺页,则只能将自己的某个内存页换出。缺页,则只能将自己的某个内存页换出。2021/6/470l(2)可变分配全局置

52、换:)可变分配全局置换:为每个进程分配一定数为每个进程分配一定数目的物理块,当进程发生缺页,若系统中有空闲目的物理块,当进程发生缺页,若系统中有空闲的物理块,则分配一个物理块并装入缺页;页面的物理块,则分配一个物理块并装入缺页;页面的置换范围是任一个进程。的置换范围是任一个进程。l(3)可变分配局部置换:)可变分配局部置换:为每个进程分配一定数为每个进程分配一定数目的物理块后,若某个进程发生缺页,则只能将目的物理块后,若某个进程发生缺页,则只能将自己的某个内存页换出。自己的某个内存页换出。OS根据缺页率进行物理根据缺页率进行物理块分配的调整。块分配的调整。2021/6/4713、物理块的分配算

53、法、物理块的分配算法l平均分配算法平均分配算法l将空闲物理块,平均分配给各个进程。将空闲物理块,平均分配给各个进程。l按比例分配算法按比例分配算法l根据进程的大小按比例分配物理块的。根据进程的大小按比例分配物理块的。l考虑优先权的分配算法考虑优先权的分配算法l按比例分配给各进程按比例分配给各进程l优先权高的一次分得的物理块数多。优先权高的一次分得的物理块数多。2021/6/4725.2.3、请求分页策略、请求分页策略1、调入页面的时机、调入页面的时机l确定系统将进程运行时所缺的页面调入内存的时机确定系统将进程运行时所缺的页面调入内存的时机l预调页策略:首次调入内存时预调页策略:首次调入内存时l

54、请求调页策略:运行中的发生缺页现象时请求调页策略:运行中的发生缺页现象时2、确定从何处调入页面、确定从何处调入页面l系统拥有足够的对换区空间系统拥有足够的对换区空间l系统缺少足够的对换区空间系统缺少足够的对换区空间lUNIX方式方式2021/6/4733、页面调入过程、页面调入过程l向向CPU发出缺页中断发出缺页中断l中断处理程序保存中断处理程序保存CPU环境转中断处理程序环境转中断处理程序l该程序查找页表,得到该页在外存中的块号。该程序查找页表,得到该页在外存中的块号。l若内存未满,启动磁盘若内存未满,启动磁盘I/O读入;若内存已满,读入;若内存已满,先置换,再调入;先置换,再调入;l最后修

55、改页表对应项的内容。最后修改页表对应项的内容。2021/6/4745.3页面置换算法页面置换算法最佳置换算法(最佳置换算法(OPT)先进先出(先进先出(FIFO)最近最久未使用置换算法(最近最久未使用置换算法(LRU)Clock置换算法(置换算法(NRU)最少使用置换算法(最少使用置换算法(LFU)页面缓冲置换算法(页面缓冲置换算法(PBA) 当内存中没有可以利用的页架时,根据一定的策略当内存中没有可以利用的页架时,根据一定的策略从内存中选择一个页面,把它置换到外存,称为页面从内存中选择一个页面,把它置换到外存,称为页面置换算法。置换算法。2021/6/4755.3.1、最佳置换算法和先进先出

56、置换算法、最佳置换算法和先进先出置换算法1、最佳置换算法(、最佳置换算法(OPT)算法描述:算法描述:选择以后永远(相比之下,最长时间)不会被选择以后永远(相比之下,最长时间)不会被使用的页淘汰出去。使用的页淘汰出去。特点:特点:l理论上,性能最佳;理论上,性能最佳;l实际上,无法实现;实际上,无法实现;l通常用该算法来评价其他算法的优劣。通常用该算法来评价其他算法的优劣。2021/6/476例例1:在一个请求分页系统中,假定系统分给一个作业:在一个请求分页系统中,假定系统分给一个作业的的物理块数为物理块数为3,并且此作业的页面走向为,并且此作业的页面走向为2,3,2,1,5,2,4,5,3,

57、2,5,2。用。用FIFO、LRU、OPT计算缺计算缺页次数和缺页率。页次数和缺页率。分析:分析:如果所访问的页还没有装入内存,将发生一如果所访问的页还没有装入内存,将发生一次缺页中断。次缺页中断。访问过程中发生缺页中断的次数就是缺页访问过程中发生缺页中断的次数就是缺页次数。缺页次数除以总的访问次数,就是缺页率。次数。缺页次数除以总的访问次数,就是缺页率。2021/6/477缺页缺页中断中断32532532+532534534+534532+532+13232+32+21352354251232页面页面走向走向使用使用OPT算法:算法:将来再也不用或最长时间不用的页面将来再也不用或最长时间不用

58、的页面黄色标志黄色标志缺页次数:缺页次数:6,缺页率:,缺页率:6/12,页面置换,页面置换3次次2021/6/4782、先进先出置换算法(、先进先出置换算法(FIFO)算法描述算法描述:总是先淘汰那些最先进入系统,即驻留主存时间最总是先淘汰那些最先进入系统,即驻留主存时间最长的页。长的页。特点特点:l实现简单l与进程实际的运行不相适应2021/6/479缺页缺页中断中断32+253+453423+423425+425+125+135+13232+32+21252354251232页面页面走向走向使用使用FIFO算法算法:缺页次数:缺页次数:9,缺页率:,缺页率:9/12;页面置换;页面置换6

59、次次驻留内存最久的页面驻留内存最久的页面黄色标志黄色标志2021/6/4805.3.2最近最久未使用置换算法(最近最久未使用置换算法(LRU)1、算法描述:、算法描述:选择在最近一段时间最久未被使用(访问)的选择在最近一段时间最久未被使用(访问)的页淘汰出去。页淘汰出去。特点特点:l性能较好性能较好l实现复杂,需要硬件支持(每页配置一个寄实现复杂,需要硬件支持(每页配置一个寄存器、栈),增加系统负担。存器、栈),增加系统负担。2021/6/481缺页缺页中断中断32253253+253+453452+452152+152+13232+32+21252354251232页面页面走向走向使用使用L

60、RU算法:算法:长时间没有访问的页面长时间没有访问的页面黄色标志黄色标志刚刚访问过的页面刚刚访问过的页面绿色标志绿色标志缺页次数:缺页次数:7,缺页率:,缺页率:7/12;页面置换;页面置换4次次LRU最接近最接近OPT,表明,表明LRU优于优于FIFO。2021/6/482例例2:在一个请求分页系统中,假如一个作业的页面:在一个请求分页系统中,假如一个作业的页面走向为走向为1,2,3,4,1,2,5,1,2,3,4,5,当分给当分给该作业的物理块数该作业的物理块数M分别为分别为3和和4时,请用时,请用FIFO计算缺计算缺页次数和缺页率,并比较所得的结果。页次数和缺页率,并比较所得的结果。20

61、21/6/483缺页缺页中断中断32435+435+235215215+215+214+314+324+321+21+11543215214321页面页面走向走向使用使用FIFO算法算法物理块数为物理块数为3:缺页次数:缺页次数:9,缺页率:,缺页率:9/122021/6/484使用使用FIFO算法算法物理块数为物理块数为4:缺页次数:缺页次数:10,缺页率:,缺页率:10/12这种异常现象称为这种异常现象称为Belady现象。现象。缺页缺页中断中断432+3254+3214+3215+4215+4315+432543214321+4321+321+21+11543215214321页面页面走

62、向走向2021/6/4852、LRU置换算法的硬件支持置换算法的硬件支持1)寄存器)寄存器为每个在内存中的页面配置一个移位寄存器,表示为:为每个在内存中的页面配置一个移位寄存器,表示为:RRn-1Rn-2R1R0当进程访问此物理块时,将当进程访问此物理块时,将Rn-1位置位置1。定时信号将每。定时信号将每隔一定时间将寄存器右移一位。具有最小数值的寄存器隔一定时间将寄存器右移一位。具有最小数值的寄存器所对应的页面就是最近最久未使用的页面。所对应的页面就是最近最久未使用的页面。2021/6/486101101108111000007110101006011010115110101104001000

63、003001101012010010101R0R1R2R3R4R5R6R7R实页实页某进程具有某进程具有8个页面时的个页面时的LRU访问情况访问情况2021/6/4872)栈)栈利用栈来保存当前使用的各个页面的页面号。当进利用栈来保存当前使用的各个页面的页面号。当进程访问此页面时,将该页面的页面号从栈中移出,压程访问此页面时,将该页面的页面号从栈中移出,压入栈顶。因此栈顶是最新被访问页面的编号,栈底是入栈顶。因此栈顶是最新被访问页面的编号,栈底是最近最久未使用页面的页面号。最近最久未使用页面的页面号。例如:现有一进程所访问的页面号序列如下:例如:现有一进程所访问的页面号序列如下:4,7,0,7

64、,1,0,1,2,1,2,6栈的变换情况为:栈的变换情况为:470671012122021/6/4885.3.3、Clock置换算法置换算法1、简单的、简单的Clock置换算法置换算法每页设置一位访问位。当某页被访问了,则访问位每页设置一位访问位。当某页被访问了,则访问位置置“1”。内存中的所有页链接成一个内存中的所有页链接成一个循环队列循环队列;算法描述:算法描述:循循环检查各页面的使用情况。环检查各页面的使用情况。若访若访问位为问位为“0”,选择该页淘汰;若访问位为,选择该页淘汰;若访问位为“1”,复位访问位为复位访问位为“0”,查询指针前进一步。,查询指针前进一步。又称为又称为“最近未使

65、用最近未使用”置换算法置换算法(NRU)2021/6/489入口入口查询指针前进一步,查询指针前进一步,指向下一个表目指向下一个表目页面访问页面访问位位0?选择该页面淘汰选择该页面淘汰返回返回置页面访置页面访问位问位0否否是是1170565124304210指针指针访问位访问位页号页号块号块号替换替换指针指针110170565024304210指针指针访问位访问位页号页号块号块号替换替换指针指针2021/6/4902、改进型、改进型Clock置换算法:置换算法:l访问位访问位A、修改位、修改位M,共同表示一个页面的状态,共同表示一个页面的状态l四种状态:四种状态:l 00: (A=0;M=0)

66、最近未被访问也未被修改最近未被访问也未被修改 01: (A=0;M=1)最近未被访问但已被修改最近未被访问但已被修改 10: (A=1;M=0)最近已被访问但未被修改最近已被访问但未被修改 11: (A=1;M=1)最近已被访问且被修改最近已被访问且被修改三轮扫描:三轮扫描:第一轮:查找第一轮:查找00页面,未找到,下一步;页面,未找到,下一步;第二轮:查找第二轮:查找01页面,页面,A位复位为位复位为“0”,未找,未找到,下一步;到,下一步;第三轮:重复第一轮,必要时再重复第二轮。第三轮:重复第一轮,必要时再重复第二轮。2021/6/491替换替换指针指针2021/6/4921、最少使用置换

67、算法(、最少使用置换算法(LFU)选择在最近时期使用最少的页面淘汰。(频率)选择在最近时期使用最少的页面淘汰。(频率)为每个页面配一个计数器。为每个页面配一个计数器。需为在内存中的每个页面设置一个移位寄存器,用需为在内存中的每个页面设置一个移位寄存器,用来记录该页面被访问的频率。来记录该页面被访问的频率。每次访问某页时,便将该移位寄存器的最高位置每次访问某页时,便将该移位寄存器的最高位置1,此后每隔一定时间自动右移一位。此后每隔一定时间自动右移一位。最近一段时间最少使用的页面是最近一段时间最少使用的页面是Ri最小的页。最小的页。5.3.4、其它置换算法、其它置换算法2021/6/4931011

68、01108111000007110101006011010115110101104001000003001101012010010101R0R1R2R3R4R5R6R7R实页实页2021/6/4942、页面缓冲算法(、页面缓冲算法(PBA)算法:算法:FIFO,淘汰页放入空闲页面链表或已修改,淘汰页放入空闲页面链表或已修改页面链表末尾。页面链表末尾。空闲页面链表:不需写回磁盘,装入新页面时,空闲页面链表:不需写回磁盘,装入新页面时,在该表中选择一个页架。在该表中选择一个页架。已修改页面链表:该链表中的页面数达到一定数已修改页面链表:该链表中的页面数达到一定数目时,才集中写回到磁盘上。目时,才集

69、中写回到磁盘上。优点优点:消除频繁的磁盘:消除频繁的磁盘I/O2021/6/4955.4“抖动抖动”与工作集与工作集多道程序度与多道程序度与“抖动抖动”工作集工作集抖动的预防方法抖动的预防方法 请求分页系统性能优越,但若在系统中运行的进程请求分页系统性能优越,但若在系统中运行的进程太多,使缺页现象频繁发生,就会对系统的性能产生太多,使缺页现象频繁发生,就会对系统的性能产生很大影响,因此,需对分页系统的性能做简单分析。很大影响,因此,需对分页系统的性能做简单分析。2021/6/4965.5请求分段存储管理方式请求分段存储管理方式请求分段中的硬件支持请求分段中的硬件支持请求分段中的分段共享请求分段

70、中的分段共享请求分段中的分段保护请求分段中的分段保护 以基本分段内存管理为基础,程序运行前,只需先以基本分段内存管理为基础,程序运行前,只需先调入部分分段,便启动执行。其它分段在需要时,通调入部分分段,便启动执行。其它分段在需要时,通过缺段中断处理程序临时调入。过缺段中断处理程序临时调入。2021/6/4975.5.1、请求分段中的硬件支持、请求分段中的硬件支持1、段表机制、段表机制(1)存取方式:存取方式:存取属性为只执行、只读或允许读存取属性为只执行、只读或允许读/写写(2)访问字段访问字段A:记录该段被访问的频繁程度记录该段被访问的频繁程度(3)修改位修改位M:该段在进入内存后是否被修改

71、过该段在进入内存后是否被修改过(4)存在位存在位P:指示本段是否已调入内存:指示本段是否已调入内存(5)增补位:增补位:表示本段在运行过程中,是否做过动态增长表示本段在运行过程中,是否做过动态增长(6)外存始址:外存始址:本段在外存中的起始地址,即起始盘块号本段在外存中的起始地址,即起始盘块号2021/6/4982、缺段中断机构、缺段中断机构l以信息分段为单位操作。由于分段不定长,处理以信息分段为单位操作。由于分段不定长,处理时较缺页中断复杂。时较缺页中断复杂。虚段虚段S不在内存不在内存返回返回阻塞请求进程阻塞请求进程内存中有合适内存中有合适的空闲区吗?的空闲区吗?从外存读入段从外存读入段S修

72、改段表及内存空闲区链修改段表及内存空闲区链唤醒请求进程唤醒请求进程空区容量总空区容量总和能否满足?和能否满足?否否空区拼接,以形成一个空区拼接,以形成一个合适的空区合适的空区淘汰一个或几个实段淘汰一个或几个实段以形成一个合适空区以形成一个合适空区是是否否是是2021/6/4993、地址变换机构、地址变换机构l在基本分段系统地址变换机构的基础上形成,在基本分段系统地址变换机构的基础上形成,增加了分段不在内存时的缺段中断请求。增加了分段不在内存时的缺段中断请求。访问访问SW返回返回W段长?段长?修改访问字段,如写修改访问字段,如写访问,置修改位访问,置修改位=1形成访问主存地址形成访问主存地址(A

73、)=(主存始址主存始址)+(位移量位移量W)是是符合存取方式?符合存取方式?段段S在主存?在主存?分段越界中断处理分段越界中断处理分段保护中断处理分段保护中断处理缺段中断处理缺段中断处理是是是是否否否否否否2021/6/41005.5.2、分段的共享与保护、分段的共享与保护1、共享段表、共享段表l共享进程计数共享进程计数count:记录要共享该段的进程数目记录要共享该段的进程数目l存取控制字段存取控制字段:对一共享段,给不同进程不同权限:对一共享段,给不同进程不同权限l段号段号:不同进程可以各用不同段号去共享某共享段:不同进程可以各用不同段号去共享某共享段2021/6/41012、共享段的分配

74、、共享段的分配l对第一个请求使用该共享段的进程,由系统为该共对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,在把共享段调入该区。置享段分配一物理区,在把共享段调入该区。置count=1l其他进程要调用该共享段时,填写共享段的段表,其他进程要调用该共享段时,填写共享段的段表,执行执行count=count+13、共享段的与回收、共享段的与回收l当进程不再需要共享段时,先释放,撤消共享段的当进程不再需要共享段时,先释放,撤消共享段的表项,执行表项,执行count=count-1l仅当仅当count=0时,由系统回收共享段的物理内存。时,由系统回收共享段的物理内存。2021/6/410

75、24、分段保护、分段保护1)越界检查)越界检查l段表寄存器:段表始址、段表长度段表寄存器:段表始址、段表长度l比较:段号比较:段号段表长度、段长段表长度、段长段内地址段内地址2)存取控制检查)存取控制检查l存取控制字段存取控制字段l只读、只执行、读只读、只执行、读/写写3)环保护机构)环保护机构l低编号的环具有高优先权。低编号的环具有高优先权。l程序可以访问驻留在相同环或较低特权环中的数据;程序可以访问驻留在相同环或较低特权环中的数据;l程序可以调用驻留在相同环或较高特权环中的服务。程序可以调用驻留在相同环或较高特权环中的服务。2021/6/4103内存内存段表段表基址基址段长段长180K100K300K20K100K42K210段号段号第第0段段Job1Job1数据数据数据数据用户用户1编辑进程编辑进程第第0段段Job2Job2数据数据数据数据用户用户2编辑进程编辑进程基址基址段长段长380K30K300K20K100K42K210段号段号第第0段段Job1Job1数据数据数据数据Job2Job2数据数据数据数据2021/6/4104部分资料从网络收集整理而来,供大家参考,感谢您的关注!

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

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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