最新【考研计算机专业课】武汉大学操作系统PPT课件 第6章 虚拟存储器(共142张PPT课件).pptx
《最新【考研计算机专业课】武汉大学操作系统PPT课件 第6章 虚拟存储器(共142张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新【考研计算机专业课】武汉大学操作系统PPT课件 第6章 虚拟存储器(共142张PPT课件).pptx(142页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 虚拟存储器虚拟存储器n常规存储器管理方式(fngsh)要求作业运行前全部装入内存,作业装入内存后一直驻留内存直至运行结束。n这种存储管理方式限制了大作业的运行。而物理扩充内存会增加成本,故应从逻辑上扩充内存。第一页,共一百四十二页。6.1 虚拟存储器概念虚拟存储器概念(ginin)n虚拟存储器(Virtual Memory)的理论基础是程序执行时的局部性原理。n局部性原理是指程序在执行过程中一个较短时间内,程序所执行的指令地址和操作数地址分别局限于一定(ydng)区域内。n例如:n除转移和过程调用外,程序主要是顺序执行。n过程调用使程序从一部分区域转至另一部分区域n循环结构第二页,
2、共一百四十二页。局部性的体现(txin)n局部性体现为:n时间(shjin)局部性:一条指令的一次执行和下次执行,一个数据的一次访问和下次访问,都集中在一个较短时间(shjin)内。n空间局部性:当前执行的指令和将要执行的指令,当前访问的数据和将要访问的数据,都集中在一个较小范围内。第三页,共一百四十二页。虚拟存储器的基本原理n在程序运行之前,将程序的一部分放入内存后就启动程序执行。n在程序执行过程中,当所访问的信息不在内存时,由操作系统将所需要(xyo)的部分调入内存,然后继续执行程序。n另一方面,操作系统将内存中暂时不使用的内容换出到外存上,从而腾出空间存放将要调入内存的信息。n从效果上看
3、,这样的计算机系统好像为用户提供了一个存储容量比实际内存大得多的存储器,将这个存储器称为虚拟存储器。第四页,共一百四十二页。虚拟存储器n虚拟存储器是指具有请求调入和置换功能,能从逻辑上对内存容量加以(jiy)扩充的一种存储器系统。n虚拟存储器是一种以时间换空间的技术。第五页,共一百四十二页。虚拟存储器的特征(tzhng)n离散性:不连续内存分配n多次性:一个作业分多次装入内存n对换性:允许运行(ynxng)中换进换出n虚拟性:逻辑上扩充内存第六页,共一百四十二页。虚拟存储器的本质(bnzh)n虚拟存储器的本质是将程序的访问地址和内存的可用地址分离,为用户提供(tgng)一个大于实际主存的虚拟存
4、储器。n虚拟存储器的容量受限于:n地址结构n外存容量第七页,共一百四十二页。实现(shxin)虚拟存储技术的物质基础n相当数量的外存:足以存放多个(du )用户的程序。n一定容量的内存:在处理机上运行的程序必须有一部分信息存放在内存中。n地址变换机构:动态实现逻辑地址到物理地址的变换。第八页,共一百四十二页。虚拟存储器的实现(shxin)方法n常用的虚拟存储技术有:n请求分页存储管理n请求分段存储管理n具有请求调页功能(gngnng)的段页式存储管理系统第九页,共一百四十二页。6.2 请求分页存储管理-6.2.1n请求分页存储管理方法是在分页存储管理的基础上增加了请求调页和页面置换功能。n实现
5、思想:在作业运行之前只装入当前需要的一部分页面便启动作业运行。在作业运行过程中,若发现所要访问的页面不在内存,便由硬件产生缺页中断,请求OS将缺页调入内存。若内存无空闲存储空间,则根据某种置换算法淘汰(toti)已在内存的某个页面,以腾出内存空间装入缺页。第十页,共一百四十二页。请求分页系统中的支持请求分页系统中的支持(zhch)机构机构n请求分页中的支持机构有:n页表n缺页中断机构n地址变换机构n请求调页和页面置换(zhhun)软件第十一页,共一百四十二页。6.2.2 页表n请求分页系统中使用的主要数据结构仍然是页表。n但由于每次只将作业的一部分调入内存,还有一部分内容存放(cnfng)在磁
6、盘上,故需要在页表中增加若干项。n扩充后的页表项如下所示: 第十二页,共一百四十二页。扩充(kuchng)后的页表项n页号和物理块号:其定义同分页存储管理。n状态位:用于表示该页是否在主存中。n访问(fngwn)字段:用于记录本页在一段时间内被访问(fngwn)的次数,或最近已有多长时间未被访问(fngwn)。n修改位:用于表示该页调入内存后是否被修改过。n外存地址:用于指出该页在外存上的地址。 页号页号 物理块号物理块号 存在位存在位 访问字段访问字段修改位修改位 外存地址外存地址第十三页,共一百四十二页。6.2.3 缺页中断缺页中断(zhngdun)与地址变与地址变换换n在请求分页系统中,
7、当所访问的页不在内存时,便产生缺页中断,请求OS将缺页调入内存。n缺页中断处理程序根据该页在外存的地址把它调入内存。在调页过程中,若内存有空闲空间,则缺页中断处理程序只需把缺页装入并修改(xigi)页表中的相应项;若内存中无空闲物理块,则需要先淘汰内存中的某些页,若淘汰页曾被修改(xigi)过,则还要将其写回外存。第十四页,共一百四十二页。缺页中断与一般缺页中断与一般(ybn)中断的区别中断的区别n缺页中断与一般中断的区别主要有:n在指令的执行(zhxng)期间产生和处理缺页中断。n一条指令可以产生多个缺页中断。如:执行一条复制指令copy A to Bn缺页中断返回时执行产生中断的指令,一般
8、中断返回时执行下条指令B:A:CopyAToB页面(ymin)654321第十五页,共一百四十二页。地址变换n请求分页存储管理系统的地址变换过程类似于分页存储管理,但当被访问(fngwn)页不在内存时应进行缺页中断处理。第十六页,共一百四十二页。地址变换流程(lichng)程序(chngx)请求访问一页页号页表长度(chngd)?页在内存?YNCPU检索快表Y修改快表页表项在快表中?产生缺页中断N访问页表越界中断NY修改访问位和修改位形成物理地址A第十七页,共一百四十二页。缺页处理(chl)流程缺页中断(zhngdun)处理保留(boli)CPU现场该页被修改否?从外存中找到缺页N将该页写回外
9、存内存满否?Y选择一页换出NY从外存读缺页入内存修改页表A第十八页,共一百四十二页。6.2.4 页面页面(y min)分配和置换策略分配和置换策略 n在为进程分配在为进程分配(fnpi)物理块时应确定物理块时应确定:n进程需要的最少物理块数进程需要的最少物理块数n进程的物理块数是固定还是可变进程的物理块数是固定还是可变n按什么原则为进程分配物理块数按什么原则为进程分配物理块数第十九页,共一百四十二页。最小物理最小物理(wl)块数的确定块数的确定n最小物理块数是指能保证进程(jnchng)正常运行所需的最少物理块数,若小于此值进程(jnchng)无法运行。n一般情况下:n单地址指令且采用直接寻址
10、,则所需最少物理块数为2。n若单地址指令且允许采用间接寻址,则所需最少物理块数为3。n某些功能较强的机器,指令及源地址和目标地址均跨两个页面,则最少需要6个物理块。第二十页,共一百四十二页。 页面页面(y min)分配和置换策略分配和置换策略 n页面分配常采用固定分配和可变分配两种策略。n页面置换也有全局(qunj)置换和局部置换两种策略。n将分配策略和置换范围组合可得如下三种策略:n固定分配局部置换n可变分配全局置换n可变分配局部置换第二十一页,共一百四十二页。固定分配(fnpi)局部置换n固定分配局部置换:基于某种原则为每个进程分配固定数量的物理块,当进程运行中出现缺页时,只能从自己的页面
11、中选择一页换出,然后再调入缺页。n实现(shxin)这种策略的困难在于:难以确定应为每个进程分配多少个物理块。第二十二页,共一百四十二页。可变分配全局(qunj)置换n可变分配全局置换:先为系统中的每个进程分配一定(ydng)数量的物理块,操作系统本身也保持一个空闲物理块队列。当某进程发生缺页时,由系统从空闲物理块队列中取出一个物理块分配给该进程;当空闲物理块队列中的物理块用完时,操作系统才从内存中选择一页调出,该页可以是系统中任何一个进程的页面。n这是一种容易实现的页面分配和置换策略,目前已用于若干操作系统中。第二十三页,共一百四十二页。可变分配局部(jb)置换n可变分配局部置换:根据某种原
12、则(yunz)为每个进程分配一定数量的物理块,当进程发生缺页中断时,只允许从该进程的页面中选出一页换出。如果某进程的缺页率较高,则系统再为该进程分配若干物理块;反之若某进程的缺页率特别低,则系统可适当减少分配给该进程的物理块数。n该算法比较复杂,但性能较好。第二十四页,共一百四十二页。物理块分配物理块分配(fnpi)算法算法n物理块分配(fnpi)是指按什么原则给进程分配(fnpi)物理块数,通常有以下几种分配(fnpi)算法:n平均分配算法:将系统中所有可供分配物理块平均分配给每个进程。n按比例分配算法:根据进程大小按比例分配物理块。n按优先级分配算法:有两种实现方案n将可供分配的物理块分为
13、两部分,一部分按比例分配给每个进程,另一部分根据进程的优先级适当增加物理块。n先按比例为进程分配物理块,当高优先级进程发生缺页时,允许它从低优先级进程处获得物理块。第二十五页,共一百四十二页。6.2.5 页面置换页面置换(zhhun)算法算法n页面置换(zhhun)( Page Replacement )算法又称为页面淘汰算法,是用来选择换出页面的算法。n下面介绍几种比较常用的页面置换算法 。第二十六页,共一百四十二页。1最佳(zu ji)置换算法(OPT)n最佳(Optimal)算法是从内存中选择将来最长时间不会使用的页面(y min)予以淘汰。n特点:因页面访问的未来顺序很难精确预测,该算
14、法具有理论意义,可以用来评价其他算法的优劣。第二十七页,共一百四十二页。最佳置换(zhhun)算法例n假定系统(xtng)为某进程分配了3个物理块,页面访问序列为:1、2、3、4、1、2、5、1、2、3、4、5,开始时3个物理块均为空闲,采用最佳置换算法时的页面置换情况如下所示:第二十八页,共一百四十二页。采用(ciyng)最佳置换算法的页面置换情况n从上表中可以看出(kn ch),共发生了7次缺页,其缺页率为7/1258.3% 。 5缺 5 4 3 4缺 5 2 3 3 2 1缺 5 2 1 5 2 1缺 4 2 1 4缺 3 2 1 3缺 2 1 2缺 1 1 块3 块2 块1走向(zux
15、ing)第二十九页,共一百四十二页。2. 先进先出算法(sun f)(FIFO)n先进先出( First-In-First-Out )算法是选择调入主存时间最长的页面予以淘汰。n特点:该算法实现比较简单,对按线性顺序访问的程序比较合适,但可能产生异常现象。很少使用纯粹的FIFO。nBelady现象:在某些情况下,分配给进程的页面数增多(zn du),缺页次数反而增加。第三十页,共一百四十二页。先进先出置换(zhhun)算法例n假定系统为某进程分配了3个物理块,页面(ymin)访问序列为:1、2、3、4、1、2、5、1、2、3、4、5,开始时3个物理块均为空闲,采用先进先出置换算法时的页面置换情
16、况如下所示:第三十一页,共一百四十二页。采用先进先出算法的页面置换(zhhun)情况n从上表中可以看出,共发生(fshng)了9次缺页中断。其缺页率为9/1275% 。 5缺 4 3 5 4缺 2 3 5 3 2 1缺 2 1 5 5缺 2 1 4 2缺 3 1 4 1缺 3 2 4 4缺 3 2 1 3缺 2 1 2缺 1 1 块3 块2 块1走向(zuxing)第三十二页,共一百四十二页。为进程分配(fnpi)4个物理块n从上表中可以看出(kn ch),共发生了10次缺页中断。其缺页率为10/1283.3% 。 3 3 3 4 4 4 4 块4缺 2 5 4 5缺 2 1 4 4缺 2 1
17、 5 3缺 2 1 5 2缺 3 1 5 1缺 3 2 5 5 2 1缺 3 2 1 4缺 3 2 1 3缺 2 1 2缺 1 1 块3 块2 块1走向(zuxing)第三十三页,共一百四十二页。无异常现象的页面(y min)序列n假定系统(xtng)为某进程分配了3个物理块,页面访问序列为:7、0、1、2、0、3、0、4、2、3、0、3,开始时3个物理块均为空闲,采用先进先出置换算法时的页面置换情况如下所示:第三十四页,共一百四十二页。页面置换(zhhun)情况n从上表中可以(ky)看出,共发生了10次缺页中断。其缺页率为10/1283.3% 。 3缺 3 2 0 0缺 3 2 4 3缺 0
18、 2 4 2缺 0 3 4 4缺 0 3 2 0缺 1 3 2 3 0缺 1 0 2 2缺 1 0 7 1缺 0 7 0缺 7 7 块3 块2 块1走向(zuxing)第三十五页,共一百四十二页。为进程分配(fnpi)4个物理块n从上表中可以(ky)看出,共发生了7次缺页中断。其缺页率为7/1258.3% 。 2 2 2 2 块4 3缺 0 4 3 0 3 2缺 1 4 3 4 0缺 1 0 3 3 0缺 1 0 7 2缺 1 0 7 1缺 0 7 0缺 7 7 块3 块2 块1走向(zuxing)第三十六页,共一百四十二页。3.最近最久未使用(shyng)置换算法(LRU)n最近最久未使用算
19、法选择最近一段时间内最长时间没有被访问过的页面予以淘汰。n为此(wi c),应赋予每个页面一个访问字段,用于记录页面自上次访问以来所经历的时间。nLRU是Least Recently Used,也称为最近最少使用第三十七页,共一百四十二页。LRU算法(sun f)例n假定系统(xtng)为某进程分配了3个物理块,页面访问序列为:1、2、3、4、1、2、5、1、2、3、4、5,开始时3个物理块均为空闲,采用LRU置换算法时的页面置换情况如下所示:第三十八页,共一百四十二页。采用LRU算法(sunf)的页面置换情况n从上表中可以(ky)看出,共发生了10次缺页,其缺页率为10/1283.3% 。缺
20、 5 4 3 5缺 2 4 3 4缺 2 1 3 3 2 1缺 2 1 5 5缺 2 1 4 2缺 3 1 4 1缺 3 2 4 4缺 3 2 1 3缺 2 1 2缺 1 1 块3 块2 块1走向(zuxing)第三十九页,共一百四十二页。为进程分配(fnpi)4个物理块n从上表中可以(ky)看出,共发生了8次缺页中断。其缺页率为8/1266.7% 。 3 3 3 4 4 块4缺 4 2 5 5缺 4 2 1 4缺 5 2 1 3 2 1缺 5 2 1 5 2 1缺 3 2 1 4缺 3 2 1 3缺 2 1 2缺 1 1 块3 块2 块1走向(zuxing)第四十页,共一百四十二页。LRU算
21、法(sun f)的实现nLRU算法实现时需要较多的硬件支持,以记录进程中各页面自上次访问以来有多长时间未被访问。下面介绍几种(j zhn)实现方法。n链表法n计数器法第四十一页,共一百四十二页。链表法n用一个单链表保存当前进程所访问(fngwn)的各页面号,刚使用过的页面放表尾,则表头一定是最近最久未使用的页面。n实现思想为:n当分配给进程的物理块未用完时,则将进程装入内存的页面按先后顺序构成一个链表n当进程访问的页面在内存时,将页面从链表中移出放到表尾n当进程访问的页面不在内存时,则发生缺页中断,将表头页面置换第四十二页,共一百四十二页。链表法例(f l)n例如:设分配给某进程4个物理块,页
22、面访问(fngwn)序列为:3、2、4、1、5、4、3、2,用单链表实现LRU算法的过程如下: 3head 2 4 1 2head 4 1 5 2head 1 5 4 1head 5 4 3 5head 4 3 2 第四十三页,共一百四十二页。计数器法n为每个页面配置一个计数器(Counter),其初值为0。当进程访问某页时,将计数器的最高位置1,定时器每隔一定(ydng)时间将计数器右移1位,则数值最小的页是最近最久未使用的页面。 第四十四页,共一百四十二页。计数器法(续) R页面页面 R7 R6 R5 R4 R3 R2 R1 R0 1 2 3 4 5 6 7 8 0 1 1 0 1 0 0
23、 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1最近(zujn)最久未使用的页是?7 0 0 0 0 0 1 1 1第四十五页,共一百四十二页。4. 其他(qt)页面置换算法-二次机会算法n二次机会( Second-Chance )算法是FIFO算法的改进,以避免将经常使用的页面淘汰掉。为此设置了页面引用位。n算法思想:使用FIFO算法选择一页淘汰时,先检查该页的引用位,如果是0就立即淘汰该页,如果是1就给它第二次机
24、会,将其引用位清0,并将它放入页面链的末尾(mwi),将其装入时间置为当前时间,然后选择下一个页面。第四十六页,共一百四十二页。简单(jindn)时钟(clock)算法n简单时钟置换算法既是对二次机会算法的改进,也是对LRU算法的近似。该算法也要求为每页设置一个访问位。n实现思想:将页面排成一个循环队列,类似于时钟表面,并使用一个置换指针。当发生缺页时,检查(jinch)指针指向的页面,若其访问位为0则淘汰该页,否则将该页的访问位清0,指针前移并重复上述过程,直到找到访问位为0的淘汰页为止。最后指针停留在被置换页的下一页上;n该算法也称为最近未使用(Not Recently Used,NRU)
25、算法。第四十七页,共一百四十二页。简单时钟置换算法简单时钟置换算法(sun f)页面链页面链块号块号 页号页号 访问访问(fngwn)位位 指针指针 0 1 2 4 0 3 4 2 1 5 6 5 0 7 1 1替 换替 换( t hun)指针指针第四十八页,共一百四十二页。简单时钟置换算法(sun f)流程入口(rku)指针(zhzhn)前进一步返回指针所指页面访问位=0?N选择该页面淘汰Y置页面访问位为0指针前进一步第四十九页,共一百四十二页。页面(y min)置换情况n从上表中可以看出,共发生(fshng)了9次缺页中断。其缺页率为9/1275% 。0*23* 3缺0* 2 4 0 3*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研计算机专业课 最新【考研计算机专业课】武汉大学操作系统PPT课件 第6章 虚拟存储器共142张PPT课件 最新 考研 计算机 专业课 武汉大学 操作系统 PPT 课件 虚拟 存储器 142
链接地址:https://www.taowenge.com/p-24218432.html
限制150内