版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
假设访问一次内存的时间为t,在基本分页存储管理方式中,有效访问时间分为第一次访问内存时间(即查找页表对应的页表项所耗费的时间t)与第二次访问内存时间(即将页表项(3)引入快表管理的有效时间4.两级和多级页表(1)两级页表(Two-LevelPageTable)两级页表的逻辑地址结构如图4-17所示。图4-17两级页表结构外层页表的始址。图4-18显示了两级页表的地址变换机构。图4-18具有两级页表的地址变换机构(2)多级页表对于32位的机器,采用两级页表结构是合适的,但对于64位的机器,可利用三级页表结构5.反置页表(InvertedPageTable)(1)反置页表的引入(2)地址变换与之匹配的页表项,则该页表项(中)的序号i便是该页所在的物理块号,可用该块号与页1.分段存储管理方式的引入(1)方便编程通常,用户把自己的作业按照逻辑关系划分为若干个段,每个段都从的名字和长度。因此,程序员们都迫切地需要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的,这不仅可以方便程序员编程,也可使程序非常直观,更具可读性。(2)信息共享(3)信息保护(4)动态增长(5)动态链接要调用某个目标程序时,才将该段(目标程序)调入内存并进行链接。可见,动态链接要求的是以目标程序(即段)作为链接的基本单位,因此,分段存储管理方式非常适合于动态链2.分段系统的基本原理(1)分段逻辑地址由段号(段名)和段内地址所组成。分段地址中的地址具有如下结构:(2)段表长度,如图4-19所示。段表可以存放在一组寄存器中,这样有利于提高地址转换速度,但图4-19利用段表实现地址映射(3)地址变换机构①在进行地址变换时,系统将逻辑地址中的段号与段表长度TL进行比较b.若未越界,则根据段表的始址和该段的段号,计算出该段对应段表项的位置,从中读出②检查段内地址d是否超过该段的段长SLa.若超过,即d>SL,同样发出越界中断信号。图4-20分段系统的地址变换过程(4)分页和分段的主要区别a.分页存储管理方式b.分段存储管理方式a.分页存储管理方式b.分段存储管理方式a.分页存储管理方式b.分段存储管理方式3.信息共享(1)分页系统中对程序和数据的共享(2)分段系统中程序和数据的共享4.段页式存储管理方式(1)分页、分段式存储管理方式的优点(2)段页式存储管理方式概述①定义②优点b.能很好地解决内存的外部碎片问题。(3)段页式存储管理方式的基本原理4-23(a)显示了一个作业地址空间的结构。该作业有三个段:主程序段、子程序段和数据段;页面大小为4KB。在段页式系统中,其地址结构由段号、段内页号及页内地址三部分所组成,如图4-23(b)所示。图4-23作业地址空间和地址结构在段页式系统中,为了实现从逻辑地址到物理地址的变换,系统中需要同时配置段表和页表。段表的内容与分段系统略有不同,它不再是内存始址和段长,而是页表始址和页表长度。图4-24示出了利用段表和页表进行从用户地址空间到物理(内存)空问的映射。操作系统操作系统11I页号状态存储块#主存段表大小段表始址11101段号0123401234图4-24利用段表和页表实现地址映射(4)地址变换过程①地址变换机构a.进行地址变换时,首先利用段号S,将它与段长TL进行比较。b.若S<TL,表示未越界,于是利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址.c.并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。图4-25示出了段页式系统中的地址变换机构。图4-25段页式系统中的地址变换机构②内存访问过程在段页式系统中,为了获得一条指令或数据,须三次访问内存:a.访问内存中的段表,从中取得页表始址;b.访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;c.从第二次访问所得的地址中取出指令或数据。1.为什么要配置层次式存储器?(1)设置多个存储器可以使存储器两端的硬件能并行工作;(2)采用多级存储系统,特别是Cache技术,是减轻存储器带宽对系统性能影响的最佳结构方案;(3)在微处理机内部设置各种缓冲存储器,减轻对存储器存取的压力;(4)增加CPU中寄存器数量能大大缓解对存储器的压力。2.可采用哪几种方武将程序装入内存?它们分别适用于何种场合?(1)绝对装入方式适用于单道程序环境,而且必须事先已知用户程序(进程)驻留在内存开始位置R,则编译程序所产生的目标模块(即装入模块)便从R处开始向上扩展;(2)可重定位装入方式(3)动态运行时装入方式3.何谓静态链接?静态链接时需要解决两个什么问题?答:(1)静态链接的定义(2)静态链接时需要解决的两个问题4.何谓装入时动态链接?装入时动态链接方式有何优点?答:(1)装入时动态链接的定义装入时动态链接是指用户源程序经编译后所得的目标模块,是在装入内存时边装入边链接的,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找出相应的外部目标模块,并将它装入内存。(2)装入时动态链接方式的优点①便于修改和更新采用动态链接方式,由于各目标模块是分开存放的,所以要修改或更新各目标模块是件非常容易的事。②便于实现对目标模块的共享采用装入时动态链接方式时,OS就很容易将一个目标模块链接到几个应用模块上,实现多个应用程序对该模块的共享。5何谓运行时动态链接?运行时动态链接方式有何优点?答:(1)运行时动态链接的定义运行时动态链接是对装入时动态链接方式的一种改进,是指对某些目标模块的链接,是在程序执行中需要该目标模块时,才对它进行链接的链接方式。对某些模块的链接推迟到程序执行时才进行链接,亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上。(2)运行时动态链接的优点①加快程序的装入过程;②节省大量的内存空间。6.在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?答:动态分区分配是根据进程的实际需要,动态地为之分配内存空间。为了实现对空闲分区的分配和链接,在每个分区的起始部分,设置一些用于控制分区分配的信息,以及用于链接各分区所用的前向指针;在分区尾部则设置一后向指针,通过前、后向链接指针,可将所有的空闲分区链接成一个双向链。当分区分配出去后,把状态位由“0”改为“1”,此时前后向指针已无意义。7.为什么要引入动态重定位?如何实现?答:(1)引入动态重定位的原因在连续分配方式中,必须把一个系统或用户程序装入一连续的内存空间。如果在系统中只有若干个小的分区,即使它们容量的总和大于要装入的程序,但由于这些分区不相邻接,也无法把该程序装入内存。若想把程序装入,可采用的一种方法是:将内存中的所有作业进行移动,使它们全都相邻接,这样,即可把原来分散的多个小分区拼接成一个大分区,这时就可把作业装入该区。这种通过移动内存中作业的位置,以把原来多个分散的小分区拼接成一个了变化,此时若不对程序和数据的地址加以修改(变换),则程序必将无法执行。为此,在每次“紧凑”后,都必须对移动了的程序或数据进行重定位。(2)引入动态重定位的实现在动态运行时装入的方式中,作业装入内存后的所有地址都仍然是相对地址,将相对地址转换为物理地址的工作,被推迟到程序指令要真正执行时进行。为使地址的转换不会影响到指令的执行速度,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序(数据)在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。当系统对内存进行了“紧凑”而使若干程序从内存的某处移至另一处时,不需对程序做任何修改,只要用该程序在内存的新起始地址去置换原来的起始地址即可。8.什么是基于顺序搜索的动态分区分配算法?它可分为哪几种?为了实现动态分区分配,通常是将系统中的空闲分区链接成一个链。所谓顺序搜索,是指依次搜索空闲分区链上的空闲分区,去寻找一个其大小能满足要求的分区。基于顺序搜索的动态分区分配算法有如下四种:①首次适应算法;②循环首次适应算法;③最佳适应算法;④最坏适应算法。9.在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?答:(1)进程运行完毕释放内存时,系统根据回收区的首址,从空闲区链(表)中找到相应的插入点,此时可能出现以下四种情况:①回收区与插入点的前一个空闲分区F₁相邻接。②回收分区与插入点的后一空闲分区F₂相邻接。③回收区同时与插入点的前、后两个分区邻接。④回收区既不与F₁邻接,又不与F₂邻接。(2)针对上述四种情况对应的处理方法如下:①将回收区与插入点的前一分区合并,不必为回收分区分配新表项,而只需修改其前一分区F₁的大小;②将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲区的首址,大小为两者③将三个分区合并,使用F₁的表项和F₁的首址,取消F₂的表项,大小为三者之和;④为回收区单独建立一新表项,填写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置。10.什么是基于索引搜索的动态分区分配算法?它可分为哪几种?为了实现动态分区分配,通常是将系统中的空闲分区链接成一个链。所谓顺序搜索,是指依次搜索空闲分区链上的空闲分区,其寻找一个其大小能满足要求的分区。基于索引搜索的动态分区分配算法有如下四种:①首次适应算法;②循环首次适应算法;③最佳适应算法;④最坏适应算法。11.令buddyk(x)为大小为2k、地址为X的块的伙伴系统地址,试写出buddyk(x)的通用表达式。12.分区存储管理中常用哪些分配策略?比较它们的优缺点。答:(1)分区存储管理中常用的分配策略分区存储管理中的常用分配策略有首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法和快速适应算法5种(2)5种常用分配策略的优缺点b.缺点b.缺点b.缺点b.缺点b.缺点13.为什么要引入对换?对换可分为哪几种类型?答:(1)引入对换的原因存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况。(2)对换类型的分类14.对文件区管理的目标和对对换空间管理的目标有何不同?答:(1)对文件区管理的主要目标(2)对对换空间管理的主要目标15.为实现对换,系统应具备哪几方面的功能?(1)对换空间的管理在具有对换功能的OS中,通常把外存分为文件区和对换区。前者用于存放文件,后者用于(2)进程的换出(3)进程的换入最久(换出到磁盘上)的进程作为换入进程,将之换入,直至已无可换入的进程或无可换出16.在以进程为单位进行对换时,每次是否都将整个进程换出?为什么?答:(1)在以进程为单位进行对换时,并非每次都将整个进程换出。(2)在以进程为单位进行对换式,并非每次都将整个进程换出的原因17.基于离散分配时所用的基本单位不同,可将离散分配分为哪几种?(1)分页存储管理方式(2)分段存储管理方式(3)段页式存储管理方式。18.什么是页面?什么是物理块?页面的大小应如何确定?(2)物理块(3)页面大小择适中,且页面大小应是2的幂,通常为1KB-8KB。19.什么是页表?页表的作用是什么?答:(1)页表的定义(2)页表的作用20.为实现分页存储管理,需要哪些硬件支持?(1)页表机制(2)地址变换机构21.在分页系统中是如何实现地址变换的?答:(1)当进程要访问某个逻辑地址中的数据时,分页地址变换机构会自动地将有效地址(相对地址)分为页号和页内地址两部分,再以页号为索引去检索页表。(2)查找操作由硬件执行。在执行检索之前,先将页号与页表长度进行比较,如果页号大(3)将有效地址寄存器中的页内地址送入物理地址寄存器的块内地址字段中。这样便完成22.具有快表时是如何实现地址变换的?(2)直接从快表中读出该页所对应的物理块号,并送到物理地址寄存器中。如在快表中未(3)将此页表项存入快表的一个寄存器单元中,亦即,重新修改快表。但如果联想寄存器23.较详细地说明引入分段存储管理是为了满足用户哪几方面的需要。(1)方便编程用户把自己的作业按照逻辑关系划分为若干个段,每个段都从0开始编址,并有自己的名字和长度。因此,希望访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。(2)信息共享(3)信息保护(4)动态增长(5)动态链接的目标程序装入内存并启动运行,当运行过程中又需要调用某段时,才将该段(目标程序)24.在具有快表的段页式存储管理方式中,如何实现地址变换?(2)直接从快表中读出该页所对应的物理块号,并送到物理地址寄存器中。如在块表中未(3)将此页表项存入快表的一个寄存器单元中,亦即,重新修改快表。但如果联想寄存器已满,则OS必须找到一个老的且已被认为不再需要的页表项,将它换出。25.为什么说分段系统比分页系统更易于实现信息的共享和保护?(1)分页系统中的每个页面是分散存储的,为了实现信息共享和保护,页面之间需要一一26.分页和分段存储管理有何区别?(1)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存(2)页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是机27.试全面比较连续分配和离散分配方式。答:(1)连续分配方式定分区和动态分区两种。连续分配方式会形成许多碎片,虽然可以通过紧凑方式将许多碎片拼接成可用的大块空间,但须为之付出很大开销。(2)离散分配方式离散分配方式分为分页、分段和段页式存储管理。分页式存储管理旨在提高内存利用率,分段式存储管理旨在满足用户(程序员)的需要,段页式存储管理则将两者结合起来,具有分段系统便于实现、可共享、易于保护和动态链接等优点,又能像分页系统那样很好地解决外部碎片及可离散地为各段分配内存等问题,是比较有效的存储管理方式。4.3考研真题与典型题详解一、选择题1.存储管理的目的是()。A.方便用户B.提高内存利用率C.方便用户和提高内存利用率D.增加内存实际容量【答案】C查看答案【解析】存储管理的目的有两个:一是方便用户,二是提高内存利用率。2.可变式分区又称为动态分区,它是在系统运行过程中()时动态建立的。A.在作业装入B.在作业创建C.在作业完成D.在作业未装入【答案】A查看答案【解析】动态分区分配是根据进程的实际需要,动态地为之分配内存空间。为把一个新作业装入内存,须按照一定的分配算法,从空闲分区表或空闲分区链中选出一分区分配给该作业,故它是在作业装入时动态建立的。3.计算机系统的二级存储包括()。A.CPU寄存器和主存缓冲区B.超高速缓存和内存储器D.主存储器和辅助存储器【答案】D查看答案【解析】由于主存储器能被处理器直接访问,而辅助存储器则不能,因此,在进程运行时,必须把它的程序和数据放到主存储器中,考虑到存储器的空间不足,一般计算机系统都采用二级存储的方法,利用辅助存储器存放准备运行的程序和数据,当需要时或主存空间允许时,随时将它们读入主存储器。4.操作系统实现()存储管理的代价最小。[燕山大学2006研]【答案】A查看答案【解析】实现分页、分段和段页式存储管理都需要特殊的硬件的支持,因而代价比较高。分区存储管理是满足多道程序运行的最简单的存储管理方案,这种管理方法特别适用于小型机、微型机上的多道程序系统。5.分区的保护措施主要是()。[电子科技大学2005研]A.界地址保护B.程序状态保护C.用户权限保护D.存取控制表保护【答案】A查看答案【解析】目前分区的保护措施常用的是界限寄存器保护,也就是界地址保护。6.在存储管理中采用对换和覆盖,目的是()。[上海交通大学2005研]A.物理上扩充B.实现主存共享C.节省存储空间D.提高CPU利用率7.最容易造成很多小碎片的可变分区分配算法是()。[南昌大学2005研]A.首次适应算法B.最佳适应算法C.最坏适应算法D.以上算法都不会【答案】B查看答案8.下面有关分区存储管理的正确说法是()。[西安电子科技大学2006研]A.一个分区的存储管理又称单连续存储管理B.多分区存储管理可以为固定分区方式C.固定分区管理采用静态重定位方法把作业装入到分区中D.可变分区管理采用动态重定位需要硬件支持,即下限寄存器和上限寄存器E.多分区存储管理可以为可变分区方式【答案】A查看答案9.设主存的分配情况如下图所示。当有一个进程需申请45KB的存储区时,若采用最佳适应法,则所分到的分区首地址为()。[北京理工大学2005研]【解析】按照最佳适应法的要求,第三块(大小60KB)区域是既能满足要求,又是最小的10.采用段式存储管理时,一个程序如何分段是在()决定的。[武汉理工大学2005研]A.分配主存时B.用户编程时C.装作业时D.程序执行时【答案】B查看答案二、填空题1.进程的目标代码在虚拟存储器中不考虑和,只规定-0【答案】物理存储器大小;信息存放的实际位置;每个进程中相互关联的信息的相对位置。【解析】在虚拟存储器中,由于具备了对换性,可以允许作业在其运行过程中换出、换入,2.请求分页系统中一个进程访问页面的次序为:0、2、1、3、0、2、4、0、2、1、3、4,利用FIFO算法,当进程使用3个页框时缺页次,使用4个页框时缺页_次(缺页次数含初始调入次数)。【解析】FIFO算法,如表4-1所示为FIFO(3页框)算法的缺页情况。表4-1FIFO(3页框)算法缺页情况页上表的页面调入情况,发生了缺页中断9次。1234缺031203031203120312033204334121上表的页面调入情况,发生了缺页中断10次。3.提高内存利用率主要是通过功能实现的,的基本任务是为每道程序做-0使每道程序能在不受干扰的环境下运行,主要是通过功能实现的。[首都师范大学2005【答案】对换,内存扩充:允许用户程序的地址空间大于内存空间:内存保护。查看答案【解析】综合考查存储管理的相关知识:裸机地址到物理地址的变换、内存到外存的对换、允许用户程序的地址空间大于内存空间、内存分配、内存保护、地址映射、对换、内存扩充4.所谓虚拟存储器是指具有和_功能,能从逻辑上对内存容量进行扩充的一种存储器系统。[四川大学2005研]【答案】请求;置换。查看答案【解析】考查虚拟存储器的定义。5.每个进程都拥有自己的虚拟存储器,且虚拟存储器的容量是受计算机的和确定。[南昌大学2006研]【答案】内存容量;外存容量。查看答案【解析】考查虚拟存储器实际容量。虚拟存储器的实际容量是内存和外存之和,最大容量则是由计算机地址结构决定的。例如,地址总线是32位的,则虚存的最大容量为2³²=4GB。6.仅把作业的一部分装入内存便可运行作业的存储系统称为,其逻辑容量由决定,运行速度接近速度。[山东大学2006研]【答案】虚拟存储系统;内存和外存之和;内存。查看答案【解析】考查虚拟存储器的概念和特点。所谓虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存和外存之和决定,体现了其虚拟性的特征,运行速度接近内存速度。7.为了有效地管理请求页式虚存系统,OS面临三个基本问题,它们是和 。[北京工业大学2005研1【答案】缺页中断;页面替换;地址转换。查看答案【解析】考查OS对请求页式虚存系统的支持。操作系统面临以下问题,缺页时怎么办,内存中没有块怎么办,如何实现地址映射。因此也决定了分页请求系统需要以下硬件的支持:①请求分页的页表机制,它是在纯分页的页表机制上增加若干项而形成的,作为请求分页的数据结构;②缺页中断机构,即每当用户程序要访问的页面尚未调入内存时,便产生一缺页中断,以请求OS将所缺的页调入内存;③地址变换机构,它同样是在纯分页地址变换机构的基础上发展形成的。8.分页式虚拟存储空间中,当发现某页不在的时候,将由_产生缺页中断,当没有空闲主存块时,需要用调度算法进行页面_,如果这时没有选择好一种好的调度算法,就会产生现象。[南昌大学2006研]【答案】内存;硬件;替换;抖动。查看答案【解析】考查分页式虚拟存储系统下的缺页中断机制。分页请求系统具有的缺页中断机构,可当用户程序要访问的页面尚未调入内存时,产生缺页中断,以请求OS将所缺的页调入内存;如果此时选择的调度算法性能较差,就会产生抖动现象。9.在请求分页系统中,引用位标识,它的用途是-0【答案】该页面最近有没有被访问过;为页面淘汰算法在选择淘汰页时提供参考查看答案【解析】在请求分页系统中,用户程序通常先放在辅存,运行时只装入一部分到主存。由于分配的主存块数通常少于进程的虚页数,因而执行程序时,要经常调出和调入,进行页面淘汰。通过页表设立引用位标志,用于标识某个页面最近有没有被访问。根据程序局部性原理,没被访问过的页面,最近一段时间可能也不会被访问,从而被淘汰。10.在多用户环境中为了实现多用户之间的隔离,必须采用措施。【解析】存储保护要实现的功能是保证一道程序在执行过程中不会有意或无意地破坏另一道程序(包括操作系统程序)在内存中的代码和数据。而多用户之间的隔离,就必须对用户程序和数据都有完善的保护,所以必须采用存储保护的措施。答:采用分区式存储管理的系统,有存储分配过程中产生的、不能供用户作业使用的主存里连续分配方式会形成许多“碎片”,可通过“紧凑”方法将碎片拼接成可此付出很大开销。如果允许将一个进程直接分散地分配到许多不相邻接的分区中,就不必再进行“紧凑”。基于这一思想而产生了离散分配方式。根据离散分配时所用基本单位的不同,又可把离散分配方式分为以下3种:(1)分页存储管理;(2)分段存储管理;(3)段页式存储管理。即使这样,内存碎片还是会出现,虽然减少了。但分区方式不同,碎片的名称和特征都不同。在固定分区中,就称为“内碎片”,每个固定分区都可能出现,这与页面大小有关。可变分区2.在请求页式存储管理中,什么叫快表?为什么要引入快表?画出具有快表的地址变换机构图。[西北大学2006研]答:为了提高查表的速度,在分页地址变换机构中加入一组高速缓冲存储器,用来存放当前作业的最常用的页号和与之相应的物理块号。一般称这样的寄存器组为快表或联想存储器。根据分析可画出如图4-37所示的具有快表的地址变换机构图:(1)利用快表查找;(2)利用页表查找;(3)利用页表中查找到的页号、块号更新快表。图4-37快表的地址变换机构图3.试叙述动态分区中采用自由链对内存进行管理的方法,并京邮电大学2005研]答:(1)首次适应算法。这种算法把空闲分区按其所在存储空间中地址递增的顺序链接在(2)最佳适应算法。此种算法把空闲分区链表按分区大小由小到大进行组织。当有作业申(3)最差适应算法。这种算法要求把空闲区按从大到小递减的顺序组织成空闲区链表。当4.某系统采用动态分区存储管理技术,某时刻在内存中有三个空闲区,它们的首地址和分区的大小分别是:空闲区1{100KB,10KB},空闲区2{200KB,30KB},空闲区3{300KB,15KB}。现有如下作业序列:作业1请求15KB,作业2请求16KB,作业3请求10KB,要求:[华中科技大学2005研]1.画出此时刻内存分布图。2.用首次适应算法和最佳适应算法画出此时的自由主存队列结构。3.哪种算法能将改作业序列装入内存?答:(1)内存分布图如下所示。(2)首次适应算法下自由主存队列结构如下图所示。(3)最佳适应算法能将此作业装入内存。将15KB的空闲块分给作业1,作业2分到空闲块30KB的前16KB,作业3分到10KB的空闲块,此时自由队列只有一块14KB的空闲块,起始地址是216KB。5.一个进程的大小占6个页面,每页的大小为1KB,系统为它分配了四个物理块。当前进程的页表如下(都为十进制数,且从0开始计数):请分别计算1237、3178、2211、5121单元的物理地址。[成都信息工程学院2005研]答:1237=1024+213,故1237对应的虚页号为1,页内地址为213,由页表知1号对应的物理块为2,所以物理地址为2213。同理,3178=3×1024+106,虚页号3对应的物理块号为1,则物理地址为1×1024+106=1130。2211=2×1024+163,但是虚页号2对应的物理块不在页表中,所以无法得知其物理地址。5121=5×1024+1,虚页号5对应的物理块号为7,所以物理地址为7×1024+1=7169。6.某系统采用段页式存储管理,有关的数据结构如下图。[南京航空航天大学2005研](1)说明在段页式系统中动态地址变换过程。(2)计算虚地址69732的物理地址,要求用十进制表示,并写出计算过程。答:按照段页式存储管理系统的地址转换过程:(1)在段页式系统中,为了实现从逻辑地址到物理地址的变换,系统中须同时配置段表和页表。由于允许将一个段中的页进行离散分配,段表表项内容略有变化:不再是段的内存始址和段长,而是页表始址和页表长度。在段页式系统中要获得一条指令或数据,需要三次访问内存:(1)访问段表;(2)访问页表;(3)存取数据。访问过程图如下:(2)根据题意,段内地址为16位,从而段表大小为65536,69732=1×65536+4196。段号为1,又69732对应的二进制数为:10000011101000000,所以页号为0,页内地址为:7.某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下。[南京理工大学2006研]则(1)此时,指令中地址空间至少需要多少位?(2)逻辑地址0A5C(十六进制)所对应的物理地址是什么(用十进制表示)?答:(1)因为用户有32个页面,所以页号占5位,每页为1K,则页内地址为10位。指令中的地址空间即逻辑地址空间,所以共需15位。(2)0A5C(H)=10×16²+5×16¹+12×16⁰=2560+8所以,0A5C(H)对应的物理地址为125C(H)。8.在请求页式系统中,一程序的页面走向为2、3、4、5、2、3、6、2、3、4、5、6,设分次数,并对结果进行分析说明。[浙江工业大学2005研]FIFO算法:M=3时,缺页9次,M=4时,缺页10次。这说明FIFO算法出现了Belady异常现象。LRU算法:M=3时,缺页10次,M=4时,缺页8次。M=3时:9.什么叫重定位?采用内存分区管理时,如何实现程序运行时的动态重定位?[西北工业大学2005研](1)静态地址重定位:即在虚空间程序执行之前由装配进程完成映射工作,完成各个首地②驻留性地址转换成内存地址,它依靠硬件地址变换机制完成:物理线性地址=基地址+程序虚地址动态重定位的实现。通常,这种转换由专门的硬件机构来完成,通常采用一个重定位寄存器,在每次进行存储访问时,对取出的逻辑地址加上重定位寄存器的内容,形成正确的物理地址,重定位寄存器的内容是程序装入内存的起始地址。10.某段式存储管理中采用如表4-3所示的段表:段号段的长度/B内存起始地址01234(1)给定段号和段内地址,说明段式管理中的变换过程。(2)计算[0,430],[1,10],[2,500],[3,400],[4,20],[5,100]的内存地址,其中方括号内的第一元素是段号,第二元素是段内地址。(3)说明存取主存中的一条指令或数据至少要访问几次主存。答:(1)为了实现从逻辑地址到物理地址的变换,在系统中需要设置段表寄存器,存放段表起始地址和段表长度TL。在进行地址变换时,系统将逻辑地址中的段号与段表长度TL进行比较。若S>=TL,则表示段号太大,是访问越界(段号越界),产生越界中断,若未越界,则根据段表的起始地址和段号,计算出该段对应段表项的位置,从中读出该段在内存中的起始位置和段长SL,再检查段内地址D是否超过该面的段长SL。若超过,即D>=SL,则同样发出越界中断信号(段内地址越界);若未越界,则将该段的起始地址与段内地址D相加,即得到要访问的内存物理地址。(2)[0,430]的物理地址是:219+430=-649;[1,10]的物理地址是:33009+10=3310;因为,500>100,所以[2,500]越界(段内地址越界)。[3,400]的物理地址是:1237+400=1637;[4,20]的物理地址是:1952+20=1972;因为,5>4,所以[5,100]越界(段号越界)。(3)存取主存中的一条指令或数据至少要访问2次主存,一次是访问段表,另一次是访问需要的指令和数据。第5章虚拟存储器5.1复习笔记一、虚拟存储器概述1.常规存储管理方式的特征和局部性原理(1)特征①一次性是指作业必须一次性地全部装入内存后方能开始运行。这一特征导致了大作业无法在小内存中运行,以及无法进一步提高系统的多道程序度,直接限制了对处理机的利用率和系统的吞吐量的提高。a.程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下是顺序执行的。b.过程调用将会使程序的执行轨迹由一部分区域转至另一部分区域。但经研究看出,过程调用的深度在大多数情况下都不超过5。这就是说,程序将会在一c.程序中存在许多循环结构,这些结构虽然只由少数指令构成,但是它们将被多次执行。d.程序中还包括许多对数据结构的处理,如对数组进行操作,这些处理往往都局限于很小b.空间局限性(3)虚拟存储器的基本工作情况2.虚拟存储器的定义和特征(1)虚拟存储器的定义(2)虚拟存储器的特征①多次性③虚拟性3.虚拟存储器的实现方法(1)分页请求系统分页请求系统是在分页系统的基础上增加了请求调页功能和页a.请求分页的页表机制b.缺页中断机构每当用户程序要访问的页面尚未调入内存时,便产生一缺页中断c.地址变换机构运行时所需的页面(尚未在内存中的)调入内存,再将内存中暂时不用的页面从内存置换到(2)请求分段系统a.请求分段的段表机制b.缺段中断机构c.地址变换机构时不用的段从内存置换到磁盘上,再将程序正在运行时所需的段(尚未在内存中的)调入内1.请求分页中的硬件支持(1)请求页表机制①状态位(存在位)P②访问字段A置换算法(程序)在选择换出页面时参考。③修改位M(2)缺页中断机构在请求分页系统中,每当所要访问的页面不在内存时,便产生一缺页中断,请求OS将所缺转入缺页中断处理程序进行处理,以及在中断处理完成后再恢复CPU环境等几个步骤。a.在指令执行期间产生和处理中断信号b.一条指令在执行期间可能产生多次缺页中断在图5-1所示,系统中的硬件机构应能保存多次中断时的状态,并保证最后能返回到中断前图5-1涉及6次缺页中断的指令(3)地址变换机构再增加了某些功能所形成的。图5-2示出了请求分页系统中的地址变换过程。在进行地址变图5-2请求分页中的地址变换过程2.请求分页中的内存分配(1)最小物理块数的确定(2)内存分配策略①固定分配局部置换(FixedAllocation,LocalReplacement)a.固定分配b.局部置换②可变分配全局置换(VariableAllocation,GlobalReplacement)a.可变分配b.全局置换如果进程在运行中发现缺页,则将OS所保留的空闲物理块(一般组织为一个空闲物理块队列)取出一块分配给该进程,或者以所有进程的全部物理块a.该策略是基于进程的类型或根据程序员的要求,为每个进程分配一定数目的物理块,但b.如果进程在运行中频繁地发生缺页中断,则系统须再为该进程分配若干附加的物理块,(3)物理块分配算法即根据进程的大小按比例分配物理块。如果系统中共有n个进程,每个进程的页面数为S,又假定系统中可用的物理块总数为m,则每个进程所能分到的物理块数为b;可由下式计算:3.页面调入策略(1)何时调入页面b.优点c.缺点调页成功率不高,仅约50%。请求,由OS将其所需页面调入内存。b.优点c.缺点这种策略每次仅调入一页,故须花费较大的系统开销,增加了磁盘I/O的启动频率。(2)从何处调入页面改,则不必再将它们重写到磁盘(换出),以后再调入时,仍从文件区直接调入。但对于那由于UNIX系统允许页面共享,因此,某进程所请求的页面有可能已被其它进程调入内存,(3)页面调入过程每当程序所要访问的页面未在内存时(存在位为“0”),便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后转入缺页中断处理程序。则启动磁盘I/O,将所缺之页调入内存,然后修改页过(修改位为“0"),可不必将该页写回磁盘;但如果此页已被修改(修改位为“1”),则必(4)缺页率假设一个进程的逻辑空间为n页,系统为其分配的内存物理块数为m(m≤n)。如果在进程的运行过程中,访问页面成功(即所访问页面在内存中)的次数为S,访问页面失败(即所访问页面不在内存中,需要从外存调入)的次数为F,则该进程总的页面访问次数为A=S+F,那么该进程在其运行过程中的缺页率即为a.页面大小①概述b.进程所分配物理块的数目c.页面置换算法d.程序固有特性假设被置换的页面被修改的概率是β,其缺页中断处理时间为ta,被置换页面没有被修改的缺页中断时间为tb,那么,缺页中断处理时间的计算公式为1.最佳置换算法和先进先出置换算法(1)最佳(Optimal)置换算法最长(未来)时间内不再被访问的页面。b.优点c.缺点7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1进程运行时,先将7,0,1三个页面装入内存。以后,当进程要访问页面2时,将会产生缺页中断。此时OS根据最佳置换算法将选择页面7予以淘汰。这是因为页面0将作为第5个被访问的页面,页面1是第14个被访问的页面,而页面7则要在第18次页面访问时才需调入。下次访问页面0时,因它已在内存而不必产生缺页中断。当进程访问页面3时,又将引起页面1被淘汰;因为,它在现有的1,2,0三个页面中,将是以后最晚才被访问的。图5-3示出了采用最佳置换算法时的置换图。由图可看出,采用最佳置换算法发生了6次页面置换。图5-3利用最佳页面置换算法时的置换图(2)先进先出(FIFO)页面置换算法FIFO算法是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中c.缺点②举例说明采用FIFO算法进行页面置换(图5-4)。当进程第一次访问页面2时,将把第7页换出,因为它是最先被调入内存的;在第一次访问页面3时,又将把第0页换出,因为它在现有的2、0、1三个页面中是最老的页。由图5-4可以看出,利用FIFO算法时,进行了12次页面7070²0图5-4利用FIFO置换算法时的置换图2.最近最久未使用和最少使用置换算法(1)LRU(LeastRecentlyUsed)置换算法的描述a.最近最久未使用(LRU)的页面置换算法是根据页面调入内存后的使用情况做出决策的。b.该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t。当需淘汰一个页面时,选择现有页面中其t值最大的,即最近最久未使用的页面予以淘利用LRU算法对上例进行页面置换的结果如图5-5所示。当进程第一次对页面2进行访问时,由于页面7是最近最久未被访问的,故将它置换出去。当进程第一次对页面3进行访问时,第1页成为最近最久未使用的页,将它换出。由图可以看出,前5个时间的图像与最佳图5-5LRU页面置换算法(2)LRU置换算法的硬件支持②栈(3)最少使用(LeastFrequentlyUsed,LFU)置换算法在采用LFU算法时,应为在内存中的每个页面设置一个移位寄存器,用来记录3.Clock置换算法(1)简单的Clock置换算法经使用过,而置换时是将未使用过的页面换出去,故又把该算法称为最近未用算法或NRU(NotRecentlyUsed)算图5-8简单Clock置换算法的流程和示例(2)改进型Clock置换算法在改进型Clock算法中,除须考虑页面的使用情况外,还须再增加一个因素,即置换代价,①页面类型由访问位A和修改位M可以组合成下面四种类型的页面:a.1类(A=0,M=0):表示该页最近既未被访问,又未被修改,是最佳淘汰页。b.2类(A=0,M=1):表示该页最近未被访问,但己被修改,并不是很好的淘汰页。c.3类(A=1,M=0):表示最近已被访问,但未被修改,该页有可能再被访问。d.4类(A=1,M=1):表示最近已a.从指针所指示的当前位置开始,扫描循环队列,寻找A=0且M=0的第一类页面,将所遇到的第一个页面作为所选中的淘汰页。在第一次扫描期问不改变访问b.如果第一步失败,即查找一轮后未遇到第一类页面,则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将所有扫描过的页面的访问位都置0。c.如果第二步也失败,亦即未找到第二类页面,则将指针返回到开始的位置,并将所有的访问位复0。然后重复第一步,即寻找A=0且M=0的第一类页面,如果仍失败,必要时再重复第二步,寻找A=0且M=1的第二类页面,此时就一4.页面缓冲算法(PageBufferingAlgorithm,PBA)(1)影响页面换进换出效率的若干因素a.对于已经被修改过的页面,在将其换出时,应当写回磁盘。b.如果是采取每当有一个页面要被换出时就将它写回磁盘的策略,这意味着每换出一个页c.如果在系统中已建立了一个已修改换出页面的链表,则对每一个要被换出的页面(已修改),系统可暂不把它们写回磁盘,而是将它们挂在已修改换出页面的链表上,仅当被换出页面数目达到一定值时,再将它们一起写回到磁盘上,这样就显著地减少了磁盘I/O的操(2)页面缓冲算法PBAa.显著地降低了页面换进、换出的频率,使磁盘I/O的操作次数大为减少,因而减少了页b.正是由于换入换出的开销大幅度减小,才能使其采用一种较简单的置换策略,如先进先VAX/VMS操作系统中,内存分配策略上采用了可变分配和局部置换方式,系统为每个进a.空闲页面链表b.修改页面链表它是由己修改的页面所形成的链表。设置该链表的目的5.访问内存的有效时间(1)被访问页在内存中,且其对应的页表项在快表中显然,此时不存在缺页中断情况,内存的有效访问时间(EAT)分为查找快表的时间(λ)和访问实际物理地址所需的时间(t):(2)被访问页在内存中,且其对应的页表项不在快表中(3)被访问页不在内存中假设缺页中断处理时间为ε,则(4)考虑快表的命中率和缺页率等因素EAT=λ+a×t+(1-a)×[t+f×(ε+λ+t)+(如果不考虑命中率,仅考虑缺页率,即上式中的λ=0和a=0,设缺页中断处理时间为φ,由1.多道程序度与“抖动”(1)多道程序度与处理机的利用率用率。处理机的实际利用率如图5-9中的实线所示。图5-9处理机的利用率发生“抖动”的根本原因是,同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存。这会使得在系统中排队等待页面调进/调出的进程数目增加。2.工作集(1)缺页率与物理块的关系进程发生缺页率的时间间隔与进程所获得的物理块数有关。图5-10示出了缺页率与物理块数之间的关系。图5-10缺页率与物理块数之间的关系(2)工作集的定义工作集是指在某段时间间隔△里,进程实际所要访问页面的集合,它是1968年由Denning提出并推广的。(1)采取局部置换策略②优点③缺点(2)把工作集算法融入到处理机调度中Denning于1980年提出了“L=S”的准则来调节多道程序度,其中L是缺页之间的平均时间,缺页的速度已超过磁盘的处理能力。只有当L与S接近时,磁盘和处理机都可达到它们的(4)选择暂停的进程1.请求分段中的硬件支持(1)请求段表机制的访问字段A、修改位M、存在位P和外存始址四个字段外,还增加了存取方式字段和增补位。这些字段供程序在调进、调出时参考。在段表项中,除了段名(号)、段长、段在内存中的起始地址(段基址)外,还增加了以下字段:加存取方式字段,如果该字段为两位,则存取属性是只执行、只读和允许读/写。②访问字段A③修改位M④存在位P(2)缺段中断机构生一次缺段中断信号,进入OS后由缺段中断处理程序将所需的段调入内存。缺段中断的处理过程如图5-12所示。图5-12请求分段系统中的中断处理过程(3)地址变换机构入内存,并修改段表,然后才能再利用段表进行地址变换。图5-13示出了请求分段系统的图5-13请求分段系统的地址变换过程2.分段的共享与保护(1)共享段表项。在表项的上面记录了共享段的段号、段长、内存始址、状态(存在)位、外存始址以及共享计数等信息。接下去就是记录了共享此分段的每个进程的情况。共享段表如图5-14所①共享进程计数count设置共享进程计数count。当某进程不再需要而释放它时,系统并不立即回收该段所占内存区,而是检查count是否为0,若不是0,则表示还有进程需要它,仅当所有共享该段的进程全都不再需要它时,此时count为0,才由系统回收该段所占内存区。③段号图5-14共享段表项(2)共享段的分配与回收段表中增加一表项,填写有关数据,把count置为1之后,当又有其它进程需要调用该共享存取控制等,再执行count=count+1操作,以表明有两个进程共享该段。应的表项,以及执行count=count-1操作。若结果为0,则须由系统回收该共享段的物理内存,以及取消在共享段表中该段所对应的表项,表明此时已没有进程使用该段:否则(减1结果不为0),只是取消调用者进程在共享段表中的有关记录。(3)分段保护a.只读,即只允许进程对该段中的程序或数据进b.只执行,即只允许进程调用该段去执行,但不准读该段的内容,更不允许对该段执行写c.读,写,即允许进程对该段进行读,写访问。这是一种功能较完善的保护机制。在该机制中规定:低编号的环具有于0号环内;某些重要的实用程序和操作系统服务占居中间环;而一般的应用程序,则被安a.一个程序可以访问驻留在相同环或较低特权环(外环)中的数据;b.一个程序可以调用驻留在相同环或较高特权环(内环)中的服务。图5-15示出了在环保护机构中的调用程序和数据访问的关系。图5-15环保护机构1.常规存储器管理方式具有哪两大特征?它对系统性能有何影响?答:(1)常规存储器管理方式的特征作业运行结束。尽管运行中的进程会因I/O等原因而被阻塞,可能处于长期等待状态,或者有的程序模块在运行过一次后就不再需要(运行)了,它们都仍将驻留在内存中,继续占(2)常规存储管理方式的特征对系统性能的影响一次性及驻留性特征使得许多在程序运行中不用或暂时不用的程序(数据)占据了大量的内2.什么是程序运行时的时间局限性和空间局限性?答:(1)时间局限性(2)空间局限性3.虚拟存储器有哪些特征?其中最本质的特征是什么?答:(1)虚拟存储器的特征②对换性(2)虚拟存储器最本质的特征4.实现虚拟存储器需要哪些硬件支持?答:(1)为实现请求分页存储管理方式的系统,除了需要一台具有定容量的内存及外存的即每当用户程序要访问的页面尚未调入内存时,便产生一缺页中断,以请求OS将(2)为实现请求分段存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计每当用户程序所要访问的段尚未调入内存时,产生一个缺段中断,请求OS将所缺的段调入5.实现虚拟存储器需要哪几个关键技术?它允许只装入少数页面程序(及数据),便可启动运行;它允许只装入少数(而非所有)用户程序段和数据段,便可启动运行。6.在请求分页系统中,页表应包括哪些数据项?每项的作用是什么?答:页表应包括页号、物理块号、状态位P、访问字段A、修改位M和外存地址。现对其(1)状态位P:用于指示该页是否已调入内存,供程序访问时参考;(2)访问字段A:用于记录本页在一段时间内被访问的次数,或记录本页最近已有多长时①可变分配(3)修改位M:表示该页在调入内存后是否被修改过。由于内存中的每一页都在外存上保(4)外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。7.试比较缺页中断机构与一般的中断,它们之间有何明显的区别?答:(1)在指令执行期间产生和处理中断信号。通常,CPU都是在一条指令执行完后,才(2)一条指令在执行期间可能产生多次缺页中断。如图5-16中所示。系统中的硬件机构应图5-16涉及6次缺页中断的指令8.试说明请求分页系统中的地址变换过程。答:(1)在进行地址变换时,首先检索快表,试图从中找出所要访问的页。若找到,便修(2)如果在快表中未找到该页的页表项,则应到内存中去查找页表,再从找到的页表项中的状态位P来了解该页是否已调入内存。若该页已调入内存,这时应将该页的页表项写入项;若该页尚未调入内存,这时应产生缺页中断,请求OS从外存把该页调入内存。9.何谓固定分配局部置换和可变分配全局置换的内存分配策略?答:(1)固定分配局部置换(FixedAllocation,LocalReplacement)理块是根据进程类型(交互型或批处理型等)或根据程序员、程序管理员的建议来确定的。(2)可变分配全局置换(VariableAllocation,GlobalReplacement)②全局置换是指如果进程在运行中发现缺页,则将OS所保留的空闲物理块(一般组织为一个空闲物理块队列)取出一块分配给该进程,或者以所有进程的全部物理块为标10.在请求分页系统中,应从何处将所需页面调入内存?(1)系统拥有足够的对换区空间(2)系统缺少足够的对换区空间(3)UNIX方式11.试说明在请求分页系统中页面的调入过程。答:(1)每当程序所要访问的页面未在内存时(存在位为“0”),便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后转入缺页中断处(2)缺页中断处理程序通过查找页表得到该页在外存的物理块后,如果此时内存能容纳新页,则启动磁盘I/O,将所缺之页调入内存,然后修改页表。(3)如果内存已满,则须先按照某种置换算法,从内存中选出一页准备换出;如果该页未(4)在缺页调入内存后,利用修改后的页表形成所要访问数据的物理地址,再去访问内存12.在请求分页系统中,常采用哪几种页面置换算法?(1)先进先出(FIFO)页面置换算法(2)LRU(LeastRecentlyUsed)置换算法最近最久未使用(LRU)的页面置换算法,是根据页面调入内存字段,用来记录一个页面自上次被访问以来所经历的时间t,当须淘汰一个页面时,选择现进型Clock算法中,除须考虑页面的使用情况外,还须再增加一个因素,即置换代价,这样,选择页面换出时,既要是未使用过的页面,又要是未被修改过的页面。把同时满足这两个条(4)最少使用(LFU:LeastFreq在采用最少使用置换算法时,应为在内存中的每个页面设置一个移位寄存器,用来记录该页面被访问的频率。页面缓冲算法(PBA)既可改善分页系统的性能,又可采用一种较简单的置换策略。13.在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面走向为4、3、在访问过程中所发生的缺页次数和缺页率,并比较所得结果。页面内存缺页44是334是2234是1123是4412是3341是是5342253是是当分配给该作业的物理块数M为3时,缺页9次,缺页率:9/12=3/4。4是1234是412343123455123是44512是33451是22345是11234是55123当分配给该作业的物理块数M为4时,缺页10次,缺页率:10/12=5/6。比较结果:在理论上,作业物理块越多,产生的缺页次数应该越少,而由上面的比较结果可知,物理块多的反而产生更多的缺页次数,这就是Belady现象。答:LRU置换算法虽然是一种比较好的算法,但要求系统有较多的支持硬件。为了了解一个进程在内存中的各个页面各有多少时间未被进程访问,以及如何快速地知道哪一页是最近最久未使用的页面,须有两类硬件之一的支持:寄存器或栈:(1)寄存器为了记录某进程在内存中各页的使用情况,须为每个在内存中的页面配置一个移位寄存器;(2)栈可利用一个特殊的栈来保存当前使用的各个页面的页面号。每当进程访问某页面时,便将该页面的页面号从栈中移出,将它压入栈顶。因此,栈顶始终是最新被访问页面的编号,而栈底则是最近最久未使用页面的页面号。15.试说明改进型Clock置换算法的基本原理。16.影响页面换进换出效率的若干因素是什么?答:(1)页面置换算法影响页面换进换出效率最重要的因素,无疑是页面置(2)写回磁盘的频率系统中已建立了一个已修改换出页面的链表,则对每一个要被换出的页面(已修改),系统到一定值时,例如64个页面,再将它们一起写回到磁盘上,这样就显著地减少了磁盘I/O(3)读入内存的频率17.页面缓冲算法的主要特点是什么?它是如何降低页面换进、换出的频率的?答:(1)页面缓冲算法的特点①显著地降低了页面换进、换出的频率,使磁盘I/O的操作次数大为减少,因而减少了页(FIFO)算法,它不需要特殊硬件的支持,实现起来(2)降低页面换进、换出的频率的方法它是由己修改的页面所形成的链表。设置该链表的目的理块太少,不能满足进程正常运行的基本要求,致使每必须请求系统将所缺之页调入内存。这会使得在系统中排队等待页面调进/调出的进程数目19.何谓工作集?它是基于什么原理确定的?答:(1)工作集的定义(2)工作集的基本原理答:(1)采取局部置换策略(2)把工作集算法融入到处理机调度中(3)利用"L=S"准则调节缺页率(4)选择暂停的进程答:Denning于1980年提出了"L=S"的准则来调节多道程序度,其中L是缺页之间的平均时少发生缺页,磁盘的能力尚未得到充分的利用;反之,如果是L比缺页,缺页的速度已超过磁盘的处理能力。只有当L与S接近时,磁盘和处理机都可达到22.为了实现请求分段式存储管理,应在系统中增加配置哪些硬件机构?23.在请求段表机制中,应设置哪些段表项?答:在段表项中,除了段名(号)、段长、段在内存中的起始地址(段基址)外,还增加了(1)存取方式加存取方式字段,如果该字段为两位,则存取属性是只执行、只读和允许读/写。(2)访问字段A(3)修改位M(4)存在位p(5)增补位(6)外存始址24.说明请求分段系统中的缺页中断处理过程。(1)根据当前执行指令中的逻辑地址查页表,判断该页是否在主存储器中;(3)操作系统处理缺页中断的办法是查主存分配表,找到一个空闲的主存块,查页表找出(4)把从磁盘上读出的信息装入到主存块中;(6)由于产生缺页中断时那条指令并没执行完,所以在把页面装入之后应重新执行被中断请求分段系统中的中断处理过程如图5-17所示。图5-17请求分段系统中的中断处理过程25.请对共享段表中的各项作简要说明。答:(1)共享进程计数count设置共享进程计数count。当某进程不再需要而释放它时,系统并不立即回收该段所占内存区,而是检查count是否为0,若不是0,则表示还有进程需要它,仅当所有共享该段的进程全都不再需要它时,此时count为0,才由系统回收该段所占内存区。(2)存取控制字段(3)段号26.如何实现共享分段的分配和回收?答:(1)共享段的分配段表中增加一表项,填写有关数据,把count置为1之后,当又有其它进程需要调用该共享表中增加一表项,填写该共享段的物理地址;在共享存取控制等,再执行count=count+1操作,以表明有两个进程共享该段。(2)共享段的回收以及取消在共享段表中该段所对应的表项,表明此时己没有进程使用该段;否则(减1结果不为0),只是取消调用者进程在共享段表中的有关记录。1.操作系统的I/O子系统通常由4个层次组成,每一层明确定义了与邻近层次的接口,其合理的层次组织排列顺序是()。[2012年统考]A.用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序B.用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序D.用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序【答案】A查看答案区和双缓冲区结构下,读入并分析完该文件的时间分别是()。[2011年统考]【解析】如图5-17所示。图5-17图5-17中上半部分为单缓冲,下半部分为双缓冲。每个标号的格子长度为100,没标号的格子长度为50,代表对应处理步骤所需的时间。3.用户程序发出磁盘I/O请求后,系统的正确处理流程是()。[2011年统考]A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序【答案】B查看答案【解析】首先用户程序(目态)是不能直接调用设备驱动程序的,因为有关对I/O设备I/O软件一般从上到下分为如图5-18所示的4个层次:用户层、设备独立性软件层、设备驱图5-18I/O软件层次结构4.程序员利用系统调用打开I/O设备时,通常使用的设备标识是()。[2009年统考]A.逻辑设备名B.物理设备名C.主设备号D.从设备号【答案】A查看答案【解析】在操作系统的设备管理中,用户程序不直接使用物理设备名(或设备的物理地址),I/O操作。逻辑设备是实际物理设备属性的抽象,它并不限于某个具体设备。5.设备与CPU之间数据传送控制方式有4种,下面的4个选项中不属于这4种的是()。A.程序直接控制方式B.设备控制方式C.直接内存访问(DMA)方式D.通道控制方式【答案】B查看答案【解析】设备与CPU之间数据传送控制方式有4种,它们是程序直接控制方式、中断控制方式、直接内存访问(DMA)方式和通道控制方式。6.根据使用方式,可将缓冲区设置成()。A.专用缓冲区和特殊缓冲区B.单缓冲区和多缓冲区C.专用缓冲区和通用缓冲区D.多缓冲区和缓冲池【答案】C查看答案7.下面关于独占设备和共享设备的说法中错误的是()。A.打印机、扫描仪等属于独占设备B.对独占设备往往采用静态分配方式D.对共享设备往往采用静态分配方式8.下面4个选项中不属于SPOOLing系统特点的是()。A.提高了内存的利用率B.提高了I/O操作的速度C.将独占设备改造为共享设备D.实现了虚拟设备功能【答案】A查看答案【解析】SPOOLing系统的核心思想是利用一台可共享的、高速大容量的块设备(磁盘)来9.设磁盘的转速为300转/分,盘面划分成10个扇区,则读取一个扇区的时间为()。【解析】磁盘的转速为300转/分,若以秒为单位,则为1秒内磁盘转5转。又因为盘面被划分为10个扇区,这使得一秒内磁头读取了5×10=50个扇区。所以读取一个扇区的时间为1/50秒=0.02秒=2ms。10.以下说法错误的是()A.活动头磁盘的访问时间包括寻到时间、旋转延迟和传输时间。B.通道分两种类型:字节多路通道和数组选择通道。C.虚拟设备是利用某种技术把独占设备改造成可由多个进程共享D.I/O设备处理进程平时处于睡眠状态,当I/O请求和I/O操作完成出现时,被唤醒。【答案】B查看答案二、填空题【答案】物理设备查看答案【解析】本题主要考查设备的概念、设备的无关性等相关内容。在操作系统中,规定在用户程序中不直接使用设备的物理名称(或设备的物理地址),而用设备忙碌状态、使用情况而由系统或用户再次确定。例如,使用CON这一逻辑名代表所有具有打印机属性的设备,而在系统运行过程中,用户根据不同情况,将CON作为系统打印【答案】设备的分配、控制查看答案【解析】本题主要考查操作系统对设备管理的功能等相关内容。【答案】缓冲区查看答案【解析】本题主要考查缓冲区及其引入原因等相关内因为提高I/O速度和设备的利用率,在很大程度上都需要借助于缓冲技术来实现。缓冲管理(1)缓和CPU与I/O设备间速度不匹配的矛盾。事实上,凡在数据到达速率与其离去速率度跟不上,而使CPU停下来等待;在计算阶段,打印机又空闲,如果在打印机或控制器中(2)减少对CPU的中断频率,放宽对中断响应时间的限制。从终端发来的数据用一位缓冲来接收,则必须在每收到一位数据时便中断CPU一次,对于速率为9.6Kbps的数据通信来说,就意味着其中断CPU的频率也为9.必须在100μs内予以响应,否则缓冲区内的数据将被冲掉。倘若设置一个具有8位的缓冲寄存器,则可使CPU被中断的频率降低为只有一位缓冲时的1/8;若再增设一个8位寄存器,(3)提高CPU和I/O设备之间的并行性。缓冲的引入可显著地提高CPU和设备的并行操便可使CPU与打印机并行工作,提高了计算机系统的资源利用率。4.独占设备分配时所使用的数据结构为设备分配表,它由和_两部分组成。【答案】设备类表;设备表查看答案【解析】本题主要考查设备的分配等相关内容。在用户申请分配设备时,不是具体指定要哪台设备,而是指出来申请分配哪一类设备多少台,且在用户程序中用“设备类相对号”来提出使用设备的要求。所以,用户编制程序时使用的设在分配设备时适应性好、灵活性强,这是因为:(1)系统只要从指定的那一类设备中找出“好的、尚未分配的”设备来进行分配;(2)万一用户使用的设备出现了故障,系统就可以从同类设备中找另一台“好的、尚未分配为了记录设备的分配情况,系统可设置设备分配表,指出系统所配置的设备类型,台数以及分配和使用情况等。设备分配表由两部分组成:设备类表和设备表。每类设备在设备类表中占一个登记栏,指出这一类设备拥有的总台数,当前还剩几台,及该类设备在设备表中的起始地址。第一台设备在设备表中占一个登记项,同类的若干台设备连5.活动头磁盘的访问时间包括和-0【答案】寻道时间;旋转延迟;传输时间查看答案【解析】活动头(移动头)磁盘在每个盘面仅有一个磁头,被装入到磁臂中,为能访问该盘面上的所有磁道,该磁头必须能移动进行寻道。而对磁盘的访问,包括以下3部分:(1)寻道时间Ts。把磁臂(磁头)从当前位置移动到指定磁道上所经历的时间。该时间是启动磁盘的时间s与磁头移动n条磁道所花费的时间之和。(2)旋转延迟时间Tr。Tr是指定扇区移动到磁头下面所经历的时间。(3)传输时间Tt。Tt是指把数据从磁盘读出,或向磁盘写入数据所经历的时间,传输时间的大小与每次所读/写的字节数b及旋转速度有关。6.磁盘的驱动调度先进行调度,再进行调度。(西部名校经典试题)【答案】移臂调度;旋转调度查看答案【解析】在共享设备中,采用某种策略从等待访问该设备的进程中选择一个进程访问设备的工作称为驱动调度。其目的是降低若干个访问者执行I/O操作的总时间,提高I/O操作的吞吐量。对于磁盘设备来说驱动调度先进行“移臂调度”,以寻求较优化的寻找时间,然后再定位好柱面,进行“旋转调度”,寻求好的延迟时间,最后定位好扇区。7.虚拟设备是指操作系统利用某种I/O技术,将某个设备改造为多个用户可以同时共享的设备。【答案】独占设备查看答案【解析】虚拟设备是利用某种技术把独占设备改造成可由多个进程共享的设备。虚拟分配技术是利用共享设备去模拟独占设备,从而使独占设备称为可共享的、快速I/O的设备。实现虚拟分配的最有名的技术是SPOOLing技术,即假脱机技术。而假脱机技术(SPOOLing技术)是在通道技术和多道程序设计基础上产生的,它由主机和相应的通道共同承担作业的输入/输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。8.I/O设备处理进程平时处于状态,当和出现时,被唤醒。【答案】睡眠;I/O请求;I/O操作完成【解析】设备处理程序通常又称为设备驱动程序,它是I/O进程与设备控制器之间的通信程序,又由于它常以进程的形式存在,故简称为设备驱动程序。而在通常状况下,I/O设备没有操作时,I/O设备处理进程都处于睡眠状态(阻塞),当有I/O请求或者I/O操作完成,中断处理程序响应中断,而中断处理程序要开始执行,都必须先去唤醒阻塞的I/O设备处理驱动(程序)进程。三、综合题1.为什么说有了通道技术和中断技术才真正做到了中央处理器和外部设备的并行操作?这样一来,中央处理器还是把大量的时间花在查询状有了中断技术后,中央处理器可以完全不管通道和设备的执行,如常结束),通道就会发生I/O中断,通知中央处理器来处理,所以通道技术与中断技术的出2.试述磁盘调度的扫描算法(又称电梯算法)的基本思想和处理流程。定5条规则,即:(1)建立两个独立的等待队列,向上扫描队列和向下扫描队列;(2)磁头臂向上运动时,调度向上扫描队列,向下运动时调度向下扫
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洛阳职业技术学院《城市设计概论》2023-2024学年第一学期期末试卷
- 2025其他伤害个体砖厂与农民工签订“生死合同”案
- 2024年度商品混凝土供货与施工安全监管合同3篇
- 社区安全防护指南
- 墙面手绘施工合同餐饮店
- 技术管理质量管理办法
- 铁路道口安全管理办法
- 2024年度艺术品买卖合同担保与鉴定评估服务条款3篇
- 项目执行沟通管理手册
- 2024年槽罐车液态化学品运输安全合同
- 桥梁工程智慧树知到答案章节测试2023年广州大学
- 科学认识天气智慧树知到答案章节测试2023年中国海洋大学
- 家居风格分类说明PPT讲座
- 高标准农田施工合同
- J.P. 摩根-全球电气设备行业-自动化产业:摩根大通系统集成商调查-2021.5.20-58正式版
- GB/T 28035-2011软件系统验收规范
- 介绍北京英文
- 医生、护士工作服技术参数要求
- GB 29518-2013柴油发动机氮氧化物还原剂尿素水溶液(AUS 32)
- 《经济学基础》试题库(附答案)
- 医师临床三基训练综合试卷
评论
0/150
提交评论