《计算机操作系统》汤小丹讲义课件.ppt
《《计算机操作系统》汤小丹讲义课件.ppt》由会员分享,可在线阅读,更多相关《《计算机操作系统》汤小丹讲义课件.ppt(44页珍藏版)》请在三一办公上搜索。
1、湘 潭 大 学,第6章虚拟存储器,6.1 虚拟存储器概述,前述的各种存储管理方式,有一个共同特点,就是要求将一个作业全部装入内存以后才能运行。于是,出现这样两种情况:有的作业很大,其要求的内存空间超过了内存总容量。有大量作业要求运行,而内存不足以容纳所有这些作业。解决的办法是从逻辑上扩充内存。,6.1.1 传统存储管理方式的特征和局部性原理,传统存储管理方式的特征一次性特征;驻留性特征。而一次性和驻留性是否是程序运行时所必须的。局部性原理:程序在执行时呈现出局部性规律,即在一较短时间内,程序的执行仅限于某个部分;相应地,其所访问的存储空间也局限于某个区域。局部性表现为时间局限性和空间局限性。虚
2、拟存储器的基本工作情况:基于局部性原理,一个作业运行之前,没有必要全部装入内存。只需装入当前要运行的那部分页或段便可启动运行,以后利用OS的对换功能来逐步完成整个作业的运行。,6.1.2 虚拟存储器的定义和特征,虚拟存储器的定义:虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系统。或是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。虚拟存储器的逻辑容量由内存和外存容量之和所决定。其运行速度接近于内存,每位的成本接近于外存。虚拟存储技术是一种非常优越的存储器管理技术,虚拟存储器的特征多次性:是指一个作业被分成多次来调入内存,即作业运行时不需将其全部装入内
3、存,只需将当前要运行的那部分程序和数据装入,以后运行到某些部分时再将其调入。对换性:是指允许作业中的程序和数据,在作业运行过程中换进、换出。虚拟性:是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。虚拟性以多次性和对换性为基础,多次性和对换性以离散分配为基础。,6.1.3 虚拟存储器的实现方法,请求分页系统:这是在分页系统的基础上增加请求调页和页面置换功能形成的页式虚拟存储系统。允许只装入若干页(非全部)的用户程序和数据,便可启动运行。以后利用请求调页和页面置换功能完成作业的运行。置换时以页为单位。对此,系统须提供必要的硬件支持和相应的软件。硬件支持: (1)请求分页的页
4、表机制。用以作为请求分页的数据结构;(2)缺页中断机构;(3)地址变换机构。实现分页的软件:实现请求调页的软件和实现页面置换的软件。,请求分段系统:这是在分段系统的基础上增加请求调段和分段置换功能后而形成的段式虚拟存储系统。同样,系统须提供必要的硬件支持:(1)请求分段的段表机制;(2)缺段中断机构;(3)地址变换机构。同样需要相应的软件。目前也有建立在段页式系统基础上的段页式虚拟存储系统。,6.2 请求分页存储管理方式,6.2.1 请求分页中的硬件支持(1)一、页表机制:在请求分页系统中的主要数据结构仍然是页表。其基本作用是将用户地址空间中的逻辑地址变换为内存空间的物理地址。页表项的结构如下
5、:,页号 物理块号 状态位P 访问字段A 修改位M 外存地址,又称存在位,用于指示该页是否已调入内存,供程序访问时参考。,用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考。,指示该页在调入内存后是否被修改过。若未被修改,在置换该页时就不需将该页回写到外存,否则,就要回写到外存。,用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。,二、缺页中断机构:每当所要访问的页面不在内存时,便要产生一缺页中断,请求OS将所缺之页调入内存。缺页中断虽要经历与一般中断相同的几个步骤,但它是一种特殊的中断,与一般中断的区别主要是:(1)在指令执行期间产
6、生和处理中断信号。通常CPU都是在一条指令执行完后去检查是否有中断请求到达。有则响应,无则继续执行下一条指令。而缺页中断是在指令执行期间,发现所要访问的指令和数据不在内存时产生和处理的。(2)一条指令在执行期间,可能产生多次缺页中断,这时硬件机构应能保存多次中断时的状态,并保证最后能返回到中断前产生缺页中断的指令处,继续执行。,10,产生缺页中断的例,Copy ATo B,例如:执行COPY A TO B这条指令时,可能要产生6次缺页中断,页面,三、地址变换机构:请求分页系统中的地址变换机构,是在分页系统的地址变换机构基础上,为实现虚拟存储器而增加某些功能所形成的,如产生和处理缺页中断,以及从
7、内存中换出一页的功能等。 请求分页系统中的地址变换过程: (见教材的流程图),6.2.2 请求分页中的内存分配,在为进程分配物理块时,将涉及到以下三个问题:一、最小物理块数的确定:是指能保证进程正常运行所需的最少物理块数。若系统分配给某进程的物理块数小于此值时,进程将无法运行。进程应获得的最少物理块数与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。,二、物理块的分配策略:分配策略可采取固定分配和可变分配两种;置换策略可采取全局置换和局部置换两种。于是可组合出三种适用的策略:1、固定分配局部置换:为每个进程分配一固定页数的内存空间,在整个运行期间保持不变。置换时,只能从进程在内存的n个
8、页面中选出一页换出,然后再调入一页,保证其内存空间不变。,2、可变分配全局置换:先为每个进程分配一定数目的物理块,OS本身也保持一个空闲物理块队列。任一进程发现缺页时,由系统从空闲物理块队列中取出一块分配给该进程,并将欲调入的缺页装入其中。这样,凡产生缺页的进程,都将获得新物 理块。当空闲物理块队列中的物理块用完时,OS才能从内存中选择一页调出,选择页的可能是系统中任一进程的页。,3、可变分配局部置换:为每个进程分配一定数目的内存空间,当某进程发生缺页时,只允许从该进程在内存中的页面中选出一页换出。若某进程在运行中频繁地发生缺页中断,则系统需再为该进程分配若干附加的物理块,直至其缺页率降低到适
9、当程度为止;反之,若某进程的缺页率特别低,则可适当地减少分配给它的物理块数,前提是其缺页率没有明显增加。,三、物理块分配算法:采用固定分配策略时,将系统中可供分配的所有物理块分配给各个进程,可采用以下几种算法:1、平均分配算法:将系统中所有可供分配的物理块平均分配给各个进程。2、按比例分配算法:根据进程的大小按比例分配物理块。3、考虑优先权的算法:通常采用的方法是把内存中可供分配的所有物理块分成两部分,一部分按比例分配给各个进程;另一部分则根据各进程的优先权来分配。,6.2.3 页面调入策略,一、何时调入页面:可采取预调页策略或请求调页策略来确定进程运行时所缺页面调入内存的时机。预调页策略:以
10、预测为基础,将预计在不久之后便会被访问的程序或数据所在之页,预先调入内存。目前,预调页的成功率约为50%。请求调页策略:进程在运行中提出调页请求后,系统将其所需的页面调入内存。由该策略所确定调入的页,一定会被访问,但调页时的系统开销较大,因每次请求时只调入一页。,二、从何处调入页面:请求分页系统中,外存分为用于存放文件的文件区和用于存放对换页面的对换区两部分。缺页请求时,系统调页的方法有三种:,系统有足够的对换区空间。进程运行前便将与该进程有关的文件从文件区拷贝到对换区。这样系统可从对换区调入所需页面。系统缺少足够的对换区空间。这时凡是不会被修改的文件,都直接从文件区调入,以后再调入时,仍从文
11、件区调入。对于可能被修改的部分,将他们换出时,便调到对换区,以后需要时再从对换区调入。UNIX方式。凡是未运行过的页面,都从文件区调入。曾经运行过而又被换出的页面,放在对换区,下次调入时,从对换区调入。由于允许页面共享,故某进程所请求的页面可能已被其他进程调入,此时不需从对换区调入。,三、页面调入过程:程序要访问的页面不在内存,向CPU发出缺页中断。转入缺页中断处理程序。处理程序查找页表得到缺页所在外存的物理块号。若此时内存未满,则从外存将缺页调入内存,并修改页表。若内存已满,则按置换算法从内存选出一页准备换出,若欲换出页未修改过,可不必写入外存,否则要重写。然后将缺页调入内存,并修改页表中相
12、应的页表项,置状态位为1,再将此表项写入快表中。缺页调入内存后,利用修改后的页表,去形成所要访问的数据的物理地址,再去访问内存数据。页面的调入全过程对用户是透明的。,6.3 页面置换算法,通常,把选择换出页面的算法称为页面置换算法(Page-Replacement Algorithms).置换算法的好坏将直接影响系统的性能,不适当的算法可能导致进程发生“抖动”(Thrashing).即刚被换出的页很快又被访问,需重新调入,为此,又需再选一页调出;而此刚被换出的页,很快又被访问,因而又需将它调入,如此频繁地更换页面,以至一个进程在运行中,将把大部分时间花在完成页面置换的工作上,我们称该进程发生了
13、“抖动”.一个好的算法,应具有较低的页面更换频率.理论上讲,应将那些以后不再被访问的页面换出,或把那些在较长时间内不会再访问的页面调出。,缺页率,把一个作业(包括程序和数据)的运行始末所访问的页的序列Z记为: P1,P2,Pt,PZ Pt为在时刻t访问的页,PZ 为最后一次访问的页。序列Z称为作业运行时的页面踪迹,或页面走向,即作业访问地址空间的规律。假设系统分配给该作业的内存空间为m个物理块,在任何时刻t,若所访问的页已在主存,称此次访问成功,若不在,则称此次访问失败,并产生缺页中断。若在作业运行过程中,访问成功的次数为S,失败次数为F,设访问页面的总次数为Z,则Z=S+F,则f=F/Z为缺
14、页中断率。经常以此来衡量一个页面置换算法的优劣。,缺页次数的计算,假设页面调入采用请求调页策略,则在进程被创建时,并不分配内存块,直到进程运行时,由于缺页,引起缺页中断,才调入进程的第一个页面至内存,紧接着调入进程访问的第二个页面,显然,进程运行初期,缺页率是很高的。如果页面分配采取固定分配局部置换策略,则进程运行初期将很快占满分配给它的内存块,使缺页率保持在一个适当的水平,以后的缺页将引起页面置换。计算缺页次数时,是从第一次产生缺页开始,直至运行结束时总的缺页次数。计算页面置换次数,是从第一次进行页面置换,直至运行结束时总的页面置换次数。,22,6.3.1 最佳置换算法和先进先出算法(1),
15、一、最佳(Optimal)置换算法:是一个理论上的算法,具有最好的性能,但难以实现。该算法所选择的被淘汰页面,将是永不使用的或者是在最长时间内不再被访问的页面。对于固定分配页面方式,采用该算法可保证获得最低的缺页率。由于目前人们还无法预知一个进程在内存中的若干个页面中,谁是未来最长时间内不再被访问的,因此该算法无法实现。 最佳置换算法的例子:,7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1,7,70,701,201,203,243,203,201,701,页面的编号,系统采用固定分配局部置换策略,为某进程分配的三个物理块(页框),进程运行时先后将7,0,1三个页
16、面装入内存,此时内存已满,若进程要访问新的页面,则需淘汰三者之一,进程访问页面2,此时产生缺页中断,将页面2调入内存,但调入之前须将内存中的某页换出。,OS根据最佳置换算法,将页面7淘汰,因页面0将在第5次被访问,页面1在第14次被访问,而页面7要在第18次时被访问才需调入。,进程访问访问页面3,引起页面1被淘汰,因在内存中的1,2,0三个页面中,页面1将是以后最晚才被访问的,要在第14次才被访问。,采用最佳置换算法,只发生6次页面置换,进程在运行过程中共发生9次缺页中断,二、先进先出(FIFO)页面置换算法:该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最长的页面予以淘汰。该算法实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机操作系统 计算机 操作系统 汤小丹 讲义 课件

链接地址:https://www.31ppt.com/p-1482508.html