主存扩充虚拟内存.ppt

上传人:豆**** 文档编号:57176933 上传时间:2022-11-04 格式:PPT 页数:71 大小:1.43MB
返回 下载 相关 举报
主存扩充虚拟内存.ppt_第1页
第1页 / 共71页
主存扩充虚拟内存.ppt_第2页
第2页 / 共71页
点击查看更多>>
资源描述

《主存扩充虚拟内存.ppt》由会员分享,可在线阅读,更多相关《主存扩充虚拟内存.ppt(71页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1主存扩充虚拟内存 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望2程序局部性原理程序局部性原理n时间局部性时间局部性 一条指令被执行了,则在不久的将来它可一条指令被执行了,则在不久的将来它可能再被执行能再被执行n空间局部性空间局部性 若某一存储单元被使用,则在一定时间内,若某一存储单元被使用,则在一定时间内,与该存储单元相邻的单元也可能被使用与该存储单元相邻的单元也可能被使用2022/11/3第四章 存储管理3实现虚拟内存的基本原理实现虚拟内存的基本原理n将将程

2、程序序正正在在使使用用的的部部分分内内容容放放在在内内存存,暂暂时时不不用用的的部部分分放放在在外外存存,在在需需要要时时由由系系统统调调入入内内存存,并并将将不不需需要要(或或暂暂不不需需要要)的的部部分分调调出内存。出内存。n由操作系统结合相关硬件来完成上述工作由操作系统结合相关硬件来完成上述工作n计算机好象为用户提供了一个容量远大于内计算机好象为用户提供了一个容量远大于内存的存储器,这个存储器称为存的存储器,这个存储器称为虚拟存储器虚拟存储器。2022/11/3第四章 存储管理44.64.6虚拟页式存储管理虚拟页式存储管理1、基本思想、基本思想在进程开始运行之前,不是装入全部页面,而在进

3、程开始运行之前,不是装入全部页面,而是装入几个或零个页面,之后根据进程运行是装入几个或零个页面,之后根据进程运行的需要,动态装入其它页面;的需要,动态装入其它页面;当内存空间已满,而又需要装入新的页面时,当内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页面,以便装入新则根据某种算法淘汰某个页面,以便装入新的页面的页面2022/11/3第四章 存储管理5XXXX7X5XXX340612虚地址空间虚地址空间物理地址空间物理地址空间 虚页虚页页框页框2022/11/3第四章 存储管理62、页表表项、页表表项页号页号、内存块号、内存块号、驻留位、驻留位、外存地址外存地址、访问、访问位、修

4、改位位、修改位n驻留位:表示该页是在内存还是在外存驻留位:表示该页是在内存还是在外存n访问位:根据访问位来决定淘汰哪页(由访问位:根据访问位来决定淘汰哪页(由不同的算法决定)不同的算法决定)n修改位:查看此页是否在内存中被修改过修改位:查看此页是否在内存中被修改过页号页号中断位中断位 内存块号内存块号外存地址外存地址访问位访问位 修改位修改位2022/11/3第四章 存储管理7151413121110 9 8 7 6 5 4 3 2 10000000000000000111100001011000000000000011110010001110100110101 00 0 1 0 0 0 0

5、0 0 0 0 0 0 1 0 00 1 1 0 0 0 0 0 0 0 0 0 1 0 0110在在/不在内存不在内存页表页表虚地址虚地址8196物理地址物理地址245802022/11/3第四章 存储管理83、缺页中断(缺页中断(Page Fault)处理处理n在地址映射过程中,在页表中发现所要访问在地址映射过程中,在页表中发现所要访问的页不在内存,则产生的页不在内存,则产生缺页中断缺页中断。n操作系统接到此中断信号后,就调出操作系统接到此中断信号后,就调出缺页中缺页中断处理程序断处理程序,根据页表中给出的外存地址,根据页表中给出的外存地址,准备将该页调入内存准备将该页调入内存n此时应将缺

6、页的进程挂起(调页完成再唤醒)此时应将缺页的进程挂起(调页完成再唤醒)2022/11/3第四章 存储管理9缺页中断与一般中断都是中断缺页中断与一般中断都是中断相同点:相同点:n保护现场保护现场 中断处理中断处理 恢复现场恢复现场不同点:不同点:n一般中断是一条指令完成后中断,缺页中断一般中断是一条指令完成后中断,缺页中断是一条指令执行时中断是一条指令执行时中断n一条指令执行时可能产生多个缺页中断。如一条指令执行时可能产生多个缺页中断。如指令可能访问多个内存地址,这些地址在不指令可能访问多个内存地址,这些地址在不同的页中。同的页中。2022/11/3第四章 存储管理104.6.2 页面分配策略和

7、算法页面分配策略和算法为进程分配物理块要解决三个问题:为进程分配物理块要解决三个问题:n第一,确定最少物理块数;第一,确定最少物理块数;n第二,分配的物理块数目是否可变;第二,分配的物理块数目是否可变;n第三,不同的进程所分配的物理块数是否相第三,不同的进程所分配的物理块数是否相同同2022/11/3第四章 存储管理111、最小物理块数、最小物理块数n最少物理块数是指能保证进程正常运行所需最少物理块数是指能保证进程正常运行所需的最少物理块数。若少于此值时,进程将无的最少物理块数。若少于此值时,进程将无法运行。法运行。n进程应获得的最少物理块数与计算机的硬件进程应获得的最少物理块数与计算机的硬件

8、结构有关,取决于指令的格式、功能和寻址结构有关,取决于指令的格式、功能和寻址方式方式 2022/11/3第四章 存储管理122、页面分配和置换策略、页面分配和置换策略n两种分配策略:固定分配两种分配策略:固定分配 和和 可变分配。可变分配。n两种置换策略:全局置换两种置换策略:全局置换 和和 局部置换。局部置换。n组合后有三种方式组合后有三种方式:n固定分配局部置换固定分配局部置换n可变分配全局置换可变分配全局置换n可变分配局部置换可变分配局部置换2022/11/3第四章 存储管理13固定分配局部置换固定分配局部置换 n(1)基于进程的类型或根据程序员的要求,为基于进程的类型或根据程序员的要求

9、,为每个进程分配一定数目的内存空间,如每个进程分配一定数目的内存空间,如M个个页框,在整个运行期间都不再改变。页框,在整个运行期间都不再改变。n(2)发现缺页时从该进程在内存的发现缺页时从该进程在内存的M个页面中个页面中选出一页换出。选出一页换出。n存在问题:一定数目的内存空间难以确定,存在问题:一定数目的内存空间难以确定,n太少,会频繁地出现缺页中断;太少,会频繁地出现缺页中断;n太多,使内存中驻留的进程数目减少。太多,使内存中驻留的进程数目减少。2022/11/3第四章 存储管理14可变分配全局置换可变分配全局置换 n(1)OS保持一个空闲物理块队列,先为每个进保持一个空闲物理块队列,先为

10、每个进程分配一定数目的物理块。程分配一定数目的物理块。n(2)发现缺页时,由系统从空闲物理块队列中,发现缺页时,由系统从空闲物理块队列中,取出一物理块分配给该进程,并将欲调入的取出一物理块分配给该进程,并将欲调入的缺页装入其中。缺页装入其中。n(3)当空闲物理块队列中的物理块用完时,才当空闲物理块队列中的物理块用完时,才从内存中选择一页调出,该页可能是系统中从内存中选择一页调出,该页可能是系统中任一进程的页。任一进程的页。n是最易于实现的一种策略。是最易于实现的一种策略。2022/11/3第四章 存储管理15可变分配局部置换可变分配局部置换 n先根据进程的类型或程序员的要求,为每个先根据进程的

11、类型或程序员的要求,为每个进程分配一定数目的物理块;进程分配一定数目的物理块;n发生缺页时发生缺页时,只从该进程在内存的页面中选只从该进程在内存的页面中选出一页换出。出一页换出。n如果频繁地发生缺页中断,则再为之分配若如果频繁地发生缺页中断,则再为之分配若干物理块,直至缺页率减低到适当程度为止;干物理块,直至缺页率减低到适当程度为止;反之,若缺页率特别低,则适当减少物理块。反之,若缺页率特别低,则适当减少物理块。2022/11/3第四章 存储管理163、物理块分配算法、物理块分配算法n平均分配算法平均分配算法n按比例分配算法按比例分配算法n考虑优先权的分配算法考虑优先权的分配算法2022/11

12、/3第四章 存储管理17平均分配算法平均分配算法n将可供分配的物理块,平均分配给各个进程。将可供分配的物理块,平均分配给各个进程。n这种方式未考虑到各进程本身的大小,表面这种方式未考虑到各进程本身的大小,表面公平造成实际不公平。公平造成实际不公平。2022/11/3第四章 存储管理18按比例分配算法按比例分配算法 n根据进程的大小按比例分配物理块。根据进程的大小按比例分配物理块。nn个进程,每个进程的页面数是个进程,每个进程的页面数是Si,则系统中则系统中页面总数为:页面总数为:物理块物理块 的总数为的总数为m,进程,进程i所能分到的物理所能分到的物理块数块数注意:应该取整,且必须大于最小物理

13、块数。注意:应该取整,且必须大于最小物理块数。2022/11/3第四章 存储管理19考虑优先权的分配算法考虑优先权的分配算法 n为优先权高的分配较多的内存空间。为优先权高的分配较多的内存空间。n通常把内存中可供分配的物理块分成两部分:通常把内存中可供分配的物理块分成两部分:一部分按比例地分配给各进程;一部分按比例地分配给各进程;一部分则根据各进程的优先权应适当增加一部分则根据各进程的优先权应适当增加的物理块数,分配给各进程。的物理块数,分配给各进程。2022/11/3第四章 存储管理204.6.3 页面调入策略页面调入策略1、何时调入页面、何时调入页面2、从何处调入页面、从何处调入页面3、页面

14、调入过程、页面调入过程2022/11/3第四章 存储管理211、何时调入页面、何时调入页面预调页预调页 和和 请求调页请求调页(1)预调页策略)预调页策略n n预调页策略以预测为基础,将那些预计在不预调页策略以预测为基础,将那些预计在不久之后便会被访问的程序或数据所在的页面久之后便会被访问的程序或数据所在的页面预先调入内存,如一次调入若干个相邻的页。预先调入内存,如一次调入若干个相邻的页。n n但预测很难准确,所以预调页的成功率仅约但预测很难准确,所以预调页的成功率仅约一半。这种策略主要用于进程的首次调入时,一半。这种策略主要用于进程的首次调入时,由程序员指出应该先调入哪些页。由程序员指出应该

15、先调入哪些页。2022/11/3第四章 存储管理22(2)请求调页策赂)请求调页策赂 n即进程即进程在运行中发现在运行中发现所要访问的页面不在内所要访问的页面不在内存时,立即提出请求,由系统将其所需页面存时,立即提出请求,由系统将其所需页面调入内存。调入内存。n请求调页策略易于实现,在目前的虚拟存储请求调页策略易于实现,在目前的虚拟存储器中,大多采用此策略。器中,大多采用此策略。n缺点:因为每次请求只调入一页,增加了磁缺点:因为每次请求只调入一页,增加了磁盘盘IO的启动频率,系统开销大。的启动频率,系统开销大。2022/11/3第四章 存储管理232、从何处调入页面、从何处调入页面n请求分页系

16、统中,外存分为文件区和对换区。请求分页系统中,外存分为文件区和对换区。n分三种情况分三种情况:n (1)系统有足够的对换区空间,在进程运行系统有足够的对换区空间,在进程运行前,将与该进程有关的文件,从文件区拷贝前,将与该进程有关的文件,从文件区拷贝到对换区,全部从对换区调入所需页面,调到对换区,全部从对换区调入所需页面,调页速度快。页速度快。2022/11/3第四章 存储管理24(2)系统缺少足够的对换区空间系统缺少足够的对换区空间不会被修改的文件,直接从文件区调入,换出时不会被修改的文件,直接从文件区调入,换出时不写回,再调入时仍从文件区直接调入;不写回,再调入时仍从文件区直接调入;对可能被

17、修改的部分,换出时换到对换区,再调对可能被修改的部分,换出时换到对换区,再调入时从对换区调入。入时从对换区调入。(3)UNIX方式方式未运行过的页面,都从文件区调入未运行过的页面,都从文件区调入;曾经运行过而又被换出的页面被放在对换区,再曾经运行过而又被换出的页面被放在对换区,再次调入时从对换区调入。次调入时从对换区调入。允许页面共享,某进程请求的页面有可能已被其允许页面共享,某进程请求的页面有可能已被其它进程调入内存,不用再从对换区调入它进程调入内存,不用再从对换区调入 2022/11/3第四章 存储管理253、页面调入过程、页面调入过程n程序所要访问的页面未在内存时,程序所要访问的页面未在

18、内存时,n向向CPU发出缺页中断,发出缺页中断,n由中断处理程序首先保留由中断处理程序首先保留CPU环境,分析中环境,分析中断原因,断原因,n转入缺页中断处理程序。转入缺页中断处理程序。2022/11/3第四章 存储管理264.7页面淘汰算法页面淘汰算法n理想淘汰算法理想淘汰算法最佳页面算法(最佳页面算法(OPT)n最近最久未使用页面淘汰算法(最近最久未使用页面淘汰算法(LRU)n先进先出页面淘汰算法(先进先出页面淘汰算法(FIFO)2022/11/3第四章 存储管理271、最佳置换算法、最佳置换算法 n最佳置换算法是一种理想化的理论算法,具最佳置换算法是一种理想化的理论算法,具有最好的性能,

19、但在实际上却难于实现。有最好的性能,但在实际上却难于实现。n它选择它选择永不使用的,或者是在最长时间内不永不使用的,或者是在最长时间内不再被访问再被访问的页面作为淘汰页面。但这是无法的页面作为淘汰页面。但这是无法预知的,因而该算法无法实现。预知的,因而该算法无法实现。n它在固定分配页面方式中可保证获得最低的它在固定分配页面方式中可保证获得最低的缺页率。缺页率。n主要用于评价其他算法主要用于评价其他算法 2022/11/3第四章 存储管理282、先进先出页面置换算法、先进先出页面置换算法n该算法总是淘汰该算法总是淘汰最先调入内存最先调入内存的页面,即选的页面,即选择在内存中驻留时间最久的页面予以

20、淘汰。择在内存中驻留时间最久的页面予以淘汰。n该算法实现时把一个进程已调入内存的页面该算法实现时把一个进程已调入内存的页面按先后次序链接成一个队列,并设置一个替按先后次序链接成一个队列,并设置一个替换指针,指向最老页面。换指针,指向最老页面。n实现简单、性能差实现简单、性能差2022/11/3第四章 存储管理293最近最久未使用(最近最久未使用(LRU)n选择最后一次访问时间距离当前时间最长的选择最后一次访问时间距离当前时间最长的一页并淘汰之一页并淘汰之 即淘汰最长时间没有使用的页即淘汰最长时间没有使用的页 性能较好,实现代价很高性能较好,实现代价很高 软件方法或硬件方法软件方法或硬件方法20

21、22/11/3第四章 存储管理30LRU的的硬件实现:硬件实现:n系统为系统为每页每页设置设置一个寄存器一个寄存器R,n每当每当访问访问这一页时,将该页对应的寄存器这一页时,将该页对应的寄存器R高高位位置置1,n以后以后每个时间间隔每个时间间隔将所有的将所有的R右移一位右移一位,nR值越小,对应的页未被使用的时间越长。值越小,对应的页未被使用的时间越长。n当淘汰一页时就选择当淘汰一页时就选择R值最小的页值最小的页。所以淘汰的是最久未使用的页。所以淘汰的是最久未使用的页。R的位数越多越精确,但系统硬件成本也就越的位数越多越精确,但系统硬件成本也就越高。高。2022/11/3第四章 存储管理31L

22、RULRU软件实现:软件实现:n设置一个设置一个页号栈页号栈,n当当一一个个页页面面被被访访问问时时,就就立立即即将将它它的的页页号号压压入入页页号号栈栈,并并检检查查页页号号栈栈中中是是否否有有与与刚刚压压入入栈栈顶顶的的相相同同的的页页号号,若若有有,则则从从页页号号栈栈中中抽抽出出原原有有的的,以以保保证证页页号栈中无相同的页号。号栈中无相同的页号。n当当系系统统要要淘淘汰汰一一页页时时,总总是是从从页页号号栈栈底底取取出出一一个个页页号淘汰,即淘汰的页是最久未使用的。号淘汰,即淘汰的页是最久未使用的。2022/11/3第四章 存储管理32LRULRU软件实现:软件实现:2022/11/

23、3第四章 存储管理33 某程序在内存中分配三个块,访问页的顺某程序在内存中分配三个块,访问页的顺序为序为4,3,2,1,4,3,5,4,3,2,1,5,按,按FIFO、LRU、OPT算法分别计算算法分别计算缺页次数缺页次数假设开始时所有页均不在内存假设开始时所有页均不在内存例例12022/11/3第四章 存储管理34FIFO 4 3 2 1 4 3 5 4 3 2 1 5 4 3 2 1 4 3 5 5 5 2 1 1 4 3 2 1 4 3 3 3 5 2 2 4 3 2 1 4 4 4 3 5 5 x x x x x x x x x 共缺页中断共缺页中断9次次FIFO2022/11/3第四

24、章 存储管理35 访问顺序访问顺序4 3 2 1 4 3 5 4 3 2 1 5 4 3 2 1 4 3 5 4 3 2 1 5 4 3 2 1 4 3 5 4 3 2 1 4 3 2 1 4 3 5 4 3 2 x x x x x x x x x x共缺页中断共缺页中断10次次 LRU 2022/11/3第四章 存储管理36 OPT 4 3 2 1 4 3 5 4 3 2 1 5 4 3 2 1 1 1 5 5 5 2 1 1 4 3 3 3 3 3 3 3 5 5 5 4 4 4 4 4 4 4 4 4 4 x x x x x x x 共缺页中断共缺页中断7次次OPT2022/11/3第四

25、章 存储管理37练习练习某程序在内存中分配某程序在内存中分配四四个块,访问页的走向为个块,访问页的走向为4,3,2,1,4,3,5,4,3,2,1,5,按,按LRU、OPT算法分别计算缺页次数算法分别计算缺页次数假设开始时所有页均不在内存假设开始时所有页均不在内存2022/11/3第四章 存储管理38LRU 4 3 2 1 4 3 5 4 3 2 1 5页页1 4 3 2 1 4 3 5 4 3 2 1 5页页2 4 3 2 1 4 3 5 4 3 2 1页页3 4 3 2 1 4 3 5 4 3 2页页4 4 3 2 1 1 1 5 4 3 x x x x x x x x共缺页中断共缺页中断

26、8次次2022/11/3第四章 存储管理39OPT 4 3 2 1 4 3 5 4 3 2 1 5页页1 4 3 2 1 1 1 5 5 5 5 1 1页页2 4 3 2 2 2 2 2 2 2 5 5页页3 4 3 3 3 3 3 3 3 3 3页页4 4 4 4 4 4 4 4 4 4 x x x x x x 共缺页中断共缺页中断6次次2022/11/3第四章 存储管理40LRU近似算法:近似算法:Clock算法算法在在页表页表中增加一中增加一访问位访问位,每当每当访问访问一页时,将该页的访问位由硬件一页时,将该页的访问位由硬件置置1,软件软件周期周期(T)性地将所有访问位性地将所有访问位

27、置置0。在时间在时间T内,访问过的页访问位为内,访问过的页访问位为1,反之为,反之为0,淘汰为淘汰为0 的页。的页。缺点:缺点:T难定。难定。太小,访问位为太小,访问位为0的页相当多,所选的不一定是的页相当多,所选的不一定是最久未用的。最久未用的。太大,所有页的引用位可能都为太大,所有页的引用位可能都为1,找不到合适,找不到合适的淘汰页。的淘汰页。2022/11/3第四章 存储管理42改进型Clock置换算法 由访问位由访问位A和修改位和修改位M可以组合成下面四种类型的页面:可以组合成下面四种类型的页面:1类类(A=0,M=0):表表示示该该页页最最近近既既未未被被访访问问,又又未未被被修修改

28、改,是最佳淘汰页。是最佳淘汰页。2类类(A=0,M=1):表表示示该该页页最最近近未未被被访访问问,但但已已被被修修改改,并并不是很好的淘汰页。不是很好的淘汰页。3类类(A=1,M=0):最最近近已已被被访访问问,但但未未被被修修改改,该该页页有有可可能能再被访问。再被访问。4类类(A=1,M=1):最近已被访问且被修改,最近已被访问且被修改,该页可能再被访问。该页可能再被访问。2022/11/3第四章 存储管理43最不经常使用(最不经常使用(LFU)n选择访问次数最少的页面淘汰之选择访问次数最少的页面淘汰之 与与LRU的硬件解法类似。的硬件解法类似。2022/11/3第四章 存储管理44页面

29、缓冲算法页面缓冲算法(PBA:Page Buffering Algorithm)n页面缓冲算法中,被淘汰的页存放在两个链页面缓冲算法中,被淘汰的页存放在两个链表(队列):表(队列):1.页面未修改的淘汰页页面未修改的淘汰页空闲页链表空闲页链表(实质:空闲物理块链表)(实质:空闲物理块链表)2.页面已修改的淘汰页页面已修改的淘汰页已修改页面链已修改页面链表。表。2022/11/3第四章 存储管理45n当需要读入一个页面时,便利用空闲物理块当需要读入一个页面时,便利用空闲物理块链表中的第一个物理块来装入。链表中的第一个物理块来装入。n当有一个当有一个未被修改的页要换出未被修改的页要换出时,并不将它

30、时,并不将它换出内存,而是直接把它所在的物理块挂在换出内存,而是直接把它所在的物理块挂在空闲页链表的末尾空闲页链表的末尾。n换出一个换出一个已修改的页面已修改的页面时,则将其所在的物时,则将其所在的物理块挂在理块挂在修改页面链表的末尾修改页面链表的末尾。n注:注:换出页面时,页面在内存并不做物理上换出页面时,页面在内存并不做物理上的移动,只是将页表中的的移动,只是将页表中的表项表项移到上述两个移到上述两个链表之一中。链表之一中。2022/11/3第四章 存储管理46n优点:可使已被修改的页面和未被修改的页优点:可使已被修改的页面和未被修改的页面,都仍留在内存中。当进程以后再次访问面,都仍留在内

31、存中。当进程以后再次访问这些页面时,就有可能只须花费较小的开销。这些页面时,就有可能只须花费较小的开销。只有当被修改页面达到一定数量,例如只有当被修改页面达到一定数量,例如64个页个页面时,再将它们一起写回到磁盘,从而显著面时,再将它们一起写回到磁盘,从而显著地减少了磁盘地减少了磁盘IO的操作次数。的操作次数。2022/11/3第四章 存储管理47(1)分配给进程的物理块数分配给进程的物理块数(2)页本身的大小页本身的大小(3)程序的编制方法程序的编制方法(练习)练习)(4)页淘汰算法页淘汰算法影响缺页次数的因素影响缺页次数的因素2022/11/3第四章 存储管理48思考:分配给进程的物理块数

32、增加缺页思考:分配给进程的物理块数增加缺页次数一定能够减少?次数一定能够减少?例例2有一虚拟存储系统,采用先进先出的页面淘汰算法。有一虚拟存储系统,采用先进先出的页面淘汰算法。在内存中为每个进程分配在内存中为每个进程分配3块。进程执行时使用页块。进程执行时使用页号的顺序为号的顺序为 4 3 2 1 4 3 5 4 3 2 1 5(1)该进程运行时总共出现几次缺页。该进程运行时总共出现几次缺页。(2)若每个进程在内存有若每个进程在内存有4块,又将产生几次缺页。块,又将产生几次缺页。(3)如何解释所出现的现象。如何解释所出现的现象。2022/11/3第四章 存储管理49FIFO 4 3 2 1 4

33、 3 5 4 3 2 1 5页页1 4 3 2 1 4 3 5 5 5 2 1 1页页2 4 3 2 1 4 3 3 3 5 2 2页页3 4 3 2 1 4 4 4 3 5 5 x x x x x x x x x 共缺页中断共缺页中断9次次m=32022/11/3第四章 存储管理50FIFO 4 3 2 1 4 3 5 4 3 2 1 5页页1 4 3 2 1 1 1 5 4 3 2 1 5页页2 4 3 2 2 2 1 5 4 3 2 1页页3 4 3 3 3 2 1 5 4 3 2页页4 4 4 4 3 2 1 5 4 3 x x x x x x x x x x共缺页中断共缺页中断10次

34、次m=42022/11/3第四章 存储管理51m=3时,缺页中断时,缺页中断9次次,缺页率缺页率9/12=75%m=4时,缺页中断时,缺页中断10次次,缺页率缺页率10/12=83%FIFO页面淘汰算法会产生异常现象(称为页面淘汰算法会产生异常现象(称为Belady现象现象),即:当分配给进程的物),即:当分配给进程的物理页面数增加时,缺页次数反而增加理页面数增加时,缺页次数反而增加2022/11/3第四章 存储管理52练习:程序对缺页的影响练习:程序对缺页的影响程序编制方法程序编制方法1:for j:=1 to 128 for i:=1 to 128 Ai,j:=0;程序编制方法程序编制方法

35、2:for i:=1 to 128 for j:=1 to 128 Ai,j:=0;内存分配一页,初始时矩阵数据均不在内存;内存分配一页,初始时矩阵数据均不在内存;页面大小为页面大小为128128个整数;矩阵个整数;矩阵A A128X128128X128按行存放。按行存放。这两个程序执行时分别会产生多少次缺页中断?这两个程序执行时分别会产生多少次缺页中断?2022/11/3第四章 存储管理53解解程序编制方法程序编制方法1:for j:=1 to 128 for i:=1 to 128 Ai,j:=0;程序编制方法程序编制方法2:for i:=1 to 128 for j:=1 to 128

36、Ai,j:=0;128*1281282022/11/3第四章 存储管理54 在虚存中,页面在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃。这种现象称为颠簸或抖动原因:原因:页面淘汰算法不合理分配给进程的物理页面数太少颠簸(抖动)颠簸(抖动)2022/11/3第四章 存储管理55解决解决n基本思想:根据程序局部性原理,一般进程基本思想:根据程序局部性原理,一般进程在一段时间内总是集中访问一些页面,这些在一段时间内总是集中访问一些页面,这些页面称为活跃页面,如果分配给一个进程的页面称为活跃页面,如果分配给一个进程的物理页面数太少了,

37、使该进程所需的活跃页物理页面数太少了,使该进程所需的活跃页面不能全部装入内存,则进程在运行过程中面不能全部装入内存,则进程在运行过程中将频繁发生中断将频繁发生中断n如果能为进程提供与活跃页面数相等的物理如果能为进程提供与活跃页面数相等的物理页面数,则可减少缺页中断次数页面数,则可减少缺页中断次数n对于给定的访问序列选取定长的区间,称为对于给定的访问序列选取定长的区间,称为工作集窗口,落在工作集窗口中的页面集合工作集窗口,落在工作集窗口中的页面集合称为工作集称为工作集2022/11/3第四章 存储管理56例如例如n工作集工作集某段时间内进程使用过的页面的集合。某段时间内进程使用过的页面的集合。N

38、=105554777511623415341555343433312323444n控制缺页率范围控制缺页率范围Ws(t1)=1,4,5,7 t1Ws(t1)=3,4,5 t22022/11/3第四章 存储管理571、基本机制、基本机制2、分段共享、分段共享3、分段保护、分段保护 4.8 虚拟段式存储管理虚拟段式存储管理2022/11/3第四章 存储管理581、段表内容、段表内容 增加:增加:n存取方式存取方式:标识段的存取属性是只执行、只读或允:标识段的存取属性是只执行、只读或允许读写。许读写。n访问字段访问字段A:记录该段被访问的频繁程度。记录该段被访问的频繁程度。n修改位修改位M:表示该段

39、进入内存后,是否已被修改过。表示该段进入内存后,是否已被修改过。n存在位存在位:指示是否已调入内存。:指示是否已调入内存。n增补位:增补位:指示本段在运行过程中,是否进行过动态指示本段在运行过程中,是否进行过动态增长。增长。n外存始址外存始址:指示本段在外存中的起始地址,即起始:指示本段在外存中的起始地址,即起始盘块号。盘块号。基本机制基本机制2022/11/3第四章 存储管理592、缺段中断处理、缺段中断处理检查内存中是否有足够的空闲空间检查内存中是否有足够的空闲空间 若有,则装入该段,修改有关数据结构,若有,则装入该段,修改有关数据结构,中断返回中断返回 若没有,内存中空闲区的总和是否满足

40、若没有,内存中空闲区的总和是否满足要求?是,采用紧缩技术,转要求?是,采用紧缩技术,转;否,淘汰一(些)段,转否,淘汰一(些)段,转 P139 图图4-31 3、地址变换、地址变换 P140 图图4-32基本机制基本机制2022/11/3第四章 存储管理602022/11/3第四章 存储管理612、分段共享与保护、分段共享与保护共享段表:共享段表:在在系统系统中配置一张中配置一张共享段表共享段表,所有共享段都在共享段表中占有一表项,所有共享段都在共享段表中占有一表项,表项中记录了共享段的表项中记录了共享段的段号和段长、内存段号和段长、内存始址、存在位始址、存在位等信息,并记录了共享此等信息,并

41、记录了共享此分段的每个进程的情况。分段的每个进程的情况。P140 图图 4-332022/11/3第四章 存储管理62(1)共享进程计数)共享进程计数count整型变量,记录共享该分段的进程数。整型变量,记录共享该分段的进程数。共享段只有当所有共享该段的进程全都不再需共享段只有当所有共享该段的进程全都不再需要它时,才由系统回收该段所占内存区。要它时,才由系统回收该段所占内存区。(2)存取控制字段)存取控制字段不同的进程对同一共享段有不同的存取权限。不同的进程对同一共享段有不同的存取权限。(3)段号)段号 不同的进程可以使用不同的段号去共享该段。不同的进程可以使用不同的段号去共享该段。共享段表项

42、共享段表项2022/11/3第四章 存储管理63例子例子2022/11/3第四章 存储管理64对对第一个第一个请求使用该共享段的进程,请求使用该共享段的进程,由系统为该段分配一物理区,把共享段调入该区,由系统为该段分配一物理区,把共享段调入该区,将该区的始址填入该进程段表相应项中,将该区的始址填入该进程段表相应项中,再在共享段表中增加一表项,填写有关数据,将再在共享段表中增加一表项,填写有关数据,将count置为置为1;其它进程其它进程再调用该共享段时,再调用该共享段时,在调用进程的段表中增加一表项,填入该共享段在调用进程的段表中增加一表项,填入该共享段的物理地址,的物理地址,在共享段的段表填

43、上调用进程名、存取控制等,在共享段的段表填上调用进程名、存取控制等,令令count加加1。(1)共享段的分配)共享段的分配2022/11/3第四章 存储管理65(2)共享段的回收)共享段的回收某个进程不再需要共享段时,某个进程不再需要共享段时,取消在该进程段表中共享段所对应的表项,取消在该进程段表中共享段所对应的表项,对共享段表中对应对共享段表中对应count执行执行-1操作。操作。若减若减1后不为后不为0,则仅取消调用者进程在共享段表中,则仅取消调用者进程在共享段表中的有关记录。的有关记录。若减若减1后为后为0,则由系统回收该共享段的物理内存,则由系统回收该共享段的物理内存,取消该段在共享段

44、表中所对应的表项;取消该段在共享段表中所对应的表项;2022/11/3第四章 存储管理663、分段保护、分段保护n分段系统中常采用以下三种措施来确保信息分段系统中常采用以下三种措施来确保信息的安全。的安全。(1)越界检查)越界检查(2)存取控制检查)存取控制检查(3)环保护机构)环保护机构2022/11/3第四章 存储管理67n(1)越界检查)越界检查段表寄存器存放段表寄存器存放段表长度段表长度信息;信息;段表中每个段表项记录有段表中每个段表项记录有段长段长。在进行存储访问时,若逻辑地址空间的段号等在进行存储访问时,若逻辑地址空间的段号等于或大于段表长度,段内地址等于或大于段于或大于段表长度,

45、段内地址等于或大于段长,都将产生地址越界中断信号。长,都将产生地址越界中断信号。2022/11/3第四章 存储管理68(2)存取控制检查)存取控制检查 “存取控制存取控制”字段规定的常用访问方式:字段规定的常用访问方式:1)只读,只允许进行读访问;只读,只允许进行读访问;2)只执行,只允许调用该段去执行只执行,只允许调用该段去执行3)读读/写,允许对该段进行读写访问。写,允许对该段进行读写访问。n共享段对不同的进程,赋予不同的读写权限。共享段对不同的进程,赋予不同的读写权限。2022/11/3第四章 存储管理69(3)环保护机构)环保护机构n这是一种功能较完善的保护机制,这是一种功能较完善的保护机制,n规定:规定:n低编号的环具有高优先权,低编号的环具有高优先权,OS处于处于0环内:环内:n重要的实用程序和操作系统服务在中间环;重要的实用程序和操作系统服务在中间环;n一般的应用程序在外环。一般的应用程序在外环。n 程序可以程序可以访问访问驻留在相同环或较低特权环中的驻留在相同环或较低特权环中的数据,可以数据,可以调用调用驻留在相同环或较高特权环中驻留在相同环或较高特权环中的服务。的服务。2022/11/3第四章 存储管理702022/11/3第四章 存储管理71 请求分页存储管理地址变换流请求分页存储管理地址变换流程程2022/11/3第四章 存储管理

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

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com