计算机专业基础综合(操作系统)模拟试卷1(共245题)_第1页
计算机专业基础综合(操作系统)模拟试卷1(共245题)_第2页
计算机专业基础综合(操作系统)模拟试卷1(共245题)_第3页
计算机专业基础综合(操作系统)模拟试卷1(共245题)_第4页
计算机专业基础综合(操作系统)模拟试卷1(共245题)_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机专业基础综合(操作系统)模拟试卷1(共8套)(共245题)计算机专业基础综合(操作系统)模拟试卷第1套一、单选题(本题共17题,每题1.0分,共17分。)1、下列页面置换算法中,可能会产生Belady异常现象的是()。A、先进先出算法FIFOB、最近最少使用算法LRUC、利用refereYlcebit的近似的LRUD、最优算法optimal标准答案:A知识点解析:Belady现象指为进程分配的内存页增加,缺页率反而增加的异常现象。2、下列关于分段存储管理的说法中,错误的是()。A、便于编程B、便于分段共享C、便于内存分配D、能动态链接标准答案:B知识点解析:暂无解析3、为进程分配连续内存的是()。A、分页存储管理B、分段存储管理C、可变分区管理D、段页式存储管理标准答案:C知识点解析:暂无解析4、在下面的页面置换算法中,()只是具有理论意义,但是实现起来很困难。A、先进先出置换算法B、最近最久未使用置换算法C、clock置换算法D、最佳置换算法标准答案:D知识点解析:最佳置换算法是指将以后不再使用或很长时间都不需要使用的页面置换出去。在利用最佳置换算法的过程中,不能够事先预知哪些页面是以后不再使用的,因此只具有理论意义,实现起来很困难。5、属于内存连续分配方式的是()。A、固定分区分配方式B、分段存储管理方式C、分页存储管理方式D、段页式存储管理方式标准答案:A知识点解析:暂无解析6、下面关于联想存储器的说法中,不正确的是()。A、联想存储器是为了提高变换速度B、联想存储器是超高速缓存构造成按内容可寻址的存储器C、联想存储器不增加太多的硬件投资D、联想存储器是高速缓存构造成按地址可寻址的存储器标准答案:D知识点解析:为了加速查找过程,超高速缓存构造成按内容可寻址的存储器,这种结构也称为联想存储器。引入联想存储器是为了提高地址变换速度,且不增加太多的硬件投资。7、可变分区管理中的()算法,空闲区按其大小递增次序组成链。A、首次适应B、最佳适应C、下次首次适应D、最坏适应标准答案:B知识点解析:可变分区管理中,最佳适应算法是找到能够适应分区的最小的空闲页面,因此需要将空闲区按其大小递增次序组成链,以方便查找。8、在某计算机中采用了多级存储体系,设计有Cache、主存和磁盘。假设访问Cache一个字需要花费10ns,若该字不在Cache中但是存在于主存中,那么需要100ns载入Cache,然后重新开始定位。若该字既不在Cache中,也不在主存中,那么需要10ms的时间装入主存,再用100ns复制到Cache,再开始定位。设Cache的命中率为0.90,主存的命中率为0.75,那么,该系统访问一个字的平均时间是()。A、25000nsB、250023nsC、250017nsD、250020ns标准答案:D知识点解析:本题考查多级存储层次下的平均访问时间。多级存储是现代计算机获得比较优异的存储器访问性能又比较廉价的一种实现方法。正确的计算需要搞清楚CPU访问一个字的流程。通常,若需要执行的指令字已经载入到Cache中,那么,仅需要从Cache中取出放到指令队列上即可,所花费的时间即是Cache的访问时间。当Cache中缺席时,产生中断,调用Cache更新程序,将所需的指令字从内存载入Cache,然后返回到中断点继续定位,所需的时间是访问Cache的时间和中断服务程序所花费的时间之和。同理,可以推断出访问不在主存中的指令字所需花费的时间是磁盘装入时间与内存中断服务程序时间以及Cache访问时间的和。根据各自命中率的不同,可以计算出总时间为:10×0.9+(10+100)×0.75×0.1+(10+100+10×106)×(1—0.9)×(1一0.75)=250020ns9、下列关于程序装入内存的说法中,正确的是()。A、由链接程序将用户源代码编译成若干目标模块B、由编译程序将编译后形成的目标模块和所需的库函数链接在一起C、由编译程序将用户源代码编译成若干目标模块D、由链接程序将装入模块装入内存标准答案:C知识点解析:首先由编译程序将用户源代码编译成若干目标模块,再由链接程序将编译后形成的目标模块和所需的库函数链接在一起,组成两个装入模块,再由装入程序将装入模块装入内存。10、程序装入模块的主要方式包括()。A、绝对装入方式B、可重定位方式C、动态运行时装入方式D、以上三者标准答案:D知识点解析:程序装入模块的方式有:绝对装入方式、可重定位方式和动态运行时装入方式。11、下列关于程序装入方式的叙述中,不正确的是()。A、绝对装入方式适用于单道程序环境下B、可重定位方式适用于多道程序环境下C、动态运行时装入方式也适用于多道程序环境下D、可重定位方式适用于单道程序环境下标准答案:D知识点解析:绝对装入方式适用于单道程序环境下。可重定位方式适用于多道程序环境下。动态运行时装入方式也适用于多道程序环境下。12、在进行程序链接时,应完成的工作是()。I.对相对地址进行修改Ⅱ.变换外部调用符号Ⅲ.首次适应算法Ⅳ.循环首次适应算法A、I,Ⅱ,Ⅲ,ⅣB、I,ⅡC、I,ⅣD、I,Ⅱ,Ⅲ标准答案:B知识点解析:在进行程序链接时,应完成对相对地址进行修改和变换外部调用符号。13、在动态分区分配方式中,可利用()分区分配算法。A、首次适应算法B、循环首次适应算法C、最佳适应算法D、以上三种标准答案:D知识点解析:在动态分区分配过程中,可以利用的分区分配算法包括首次适应算法、循环首次适应算法、最佳适应算法。14、在动态分区分配方式中,将各空闲分区链接成空闲分区链的说法中,不正确的是()。A、在每个分区的起始地址部分设置一些用于控制分区分配的信息B、在每个分区的起始地址部分设置用于链接各分区的前向指针C、在每个分区的尾部设置一后向指针D、在每个分区的尾部设置一些用于控制分区分配的信息标准答案:D知识点解析:应在每个分区的起始地址部分,设置一些用于控制分区分配的信息以及用于链接各分区的前向指针。在分区尾部则设置一后向指针,通过前、后向指针将所有的分区链接成一个双向链。15、要保证一个程序在主存中被改变了存放位置后仍能正确执行,则对主存空间应采用()技术。A、动态重定位B、静态重定位C、动态分配D、静态分配标准答案:A知识点解析:暂无解析16、固定分区存储管理把主存储器划分成若干个连续区,每个连续区称一个分区。经划分后分区的个数是固定的,各个分区的大小()。A、是一致的B、都不相同C、可以相同,也可以不相同,要根据作业长度固定D、在划分时确定且长度保持不变标准答案:D知识点解析:暂无解析17、采用固定分区方式管理主存储器的最大缺点是()。A、不利于存储保护B、主存空间利用率不高C、要有硬件的地址转换机构D、分配算法复杂标准答案:B知识点解析:暂无解析二、综合应用题(本题共12题,每题1.0分,共12分。)18、何谓静态链接、装入时动态链接和运行时动态链接?标准答案:(1)静态链接是指事先进行链接形成一个完整的装入模块,以后不再拆开的链接方式。(2)装入时动态链接是指目标模块在装入内存时,边装入边链接的链接方式。(3)运行时的动态链接是将某些目标模块的链接推迟到执行时才进行。知识点解析:暂无解析19、引入动态重定位的目的是什么?标准答案:(1)为了在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位。(2)可在系统中增加一个重定位寄存器,用它来装入(存放)程序在内存中的起始地址,程序在执行时真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的,从而实现动态重定位。知识点解析:暂无解析20、为什么要引入段页式存储管理?说明在段页式存储管理系统中的地址变换过程。标准答案:(1)为了获得分段在逻辑上的优点和分页在管理存储空间方面的优点,兼用分段和分页两种方法,设计出了段页式存储管理技术来实现对存储器的管理。(2)地址变换过程如下:首先,由段表控制寄存器确定段表在主存中的位置。其次,将虚地址中的段号和控制寄存器中的段表大小比较,以确保其访问的有效性。最后,硬件地址转换机构根据虚地址中的段号S,得到欲访问段在该作业的段表中的表目,并验证存取权限,以确保本次存储访问是允许的。然后,检查分段存在标识(判状态位),如果访问的段在主存,则通过段表找到该段的页表存放地址,再根据虚地址中的页号P查页表,找到该页所对应的内存块号与虚地址中的页内地址d相加形成物理地址;若访问的分段不在主存,则由硬件产生缺段中断。如果一完整的分段不在主存,则说明该段所有的页面均不在主存,因而也没有相应的页表。操作系统对缺页中断响应后,必须重新构造其页表,并装入一个或多个所需的页面。此时,开始继续执行本次的存储访问。当页表的位置和大小确定后,其存储访问过程如先前描述过的页面系统一样进行。知识点解析:暂无解析21、在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?标准答案:(1)回收区与插入点的前一个分区相邻接,此时可将回收区与插入点的前一分区合并,不再为回收分区分配新表项,而只修改前邻接分区的大小。(2)回收区与插入点的后一分区相邻接,此时合并两区,然后用回收区的首址作为新空闲区的首址,大小为两者之和。(3)回收区同时与插入点的前后两个分区邻接,此时将三个分区合并,使用前邻接分区的首址,大小为三区之和,取消后邻接分区的表项。(4)回收区没有邻接空闲分区,则应为回收区单独建立一个新表项,填写回收区的首址和大小,并根据其首址,插入到空闲链中的适当位置。知识点解析:暂无解析22、有一个程序要把100×100的数组置初值“0”,现假定有两个主存块可用来存放数组中的元素,每个主存块可以存放200个数组元素,数组中的元素按行编址。两个主存块的初始状态都为空,若程序编制如下:(1)VarA:array[1..100]ofarray[1...100]ofinteger;forj:=1to100dofori:=1to100doA[i,j];=0(2)VarA:array[1..100]ofarray[1..100]ofinteger;fori.=1to100doforj:=1to100doA[i,j]:=0当采用LRU页面调度算法时,对上述两种程序编制方法各会产生多少次缺页中断?标准答案:根据题意,主存块的大小为每块可存放200个数组元素,故作业信息也按每页200个元素来划分。现作业信息是由100×100的数组元素组成,因而共被分成50页。由于作业信息是按行编址的,故每顺序的两行元素在同一页面中,可被同时装到一个主存块中。有两个主存块可供该程序使用,因而程序被装入主存时可把开始两页(共四行元素)的信息分别装入两个主存块。那么,程序执行时若按(1)的编制方法,将对每一列中的各元素顺序清零,即对一列中的元素都清零后再对下一列的元素清零。由于开始两页已被装入主存,所以第一列的四个元素将首先被顺序清零。但当要对第一列的第五个元素清零时却发现该元素不在主存中,因而产生一次缺页中断,按LRU调度算法应淘汰最近最少使用的第一页,使腾出的主存空间可用来存放当前需访问的第三页,即装入第五、六两行元素。程序继续执行时每对两个元素初始化后都要产生一次缺页中断,因而对第一列的100个元素初始化会产生(50一2)次缺页中断。对以后的99列来说,为对每一列元素初始化都将产生50次缺页中断,故(1)的编制方法执行程序时总共会产生(50×100一2)次缺页中断。若按(2)的编制方法,将对一行的元素都清零后再对下一行的元素清零。因而,开始的两页(四行元素)信息先被初始化。当要对第五行元素初始化时将产生缺页中断,按LRU调度算法淘汰最近最少用的第一页后可把当前需访问的包含第五、六两行元素的第三页装入主存。程序继续执行时每对两行元素全部初始化后才产生一次缺页中断,因而共会产生50一2次缺页中断。因此,程序被装入主存时可把开始两页(四行)装入所分到的主存块中。对于(1)所编制的程序执行时将按列对元素初始化,除对第一列的前四个元素初始化时不会产生缺页中断外,以后每对两个元素初始化时都要产生一次缺页中断,故缺页中断次数为50×100—2次。对于(2)所编制的程序执行时将按行对元素初始化,除对前四行元素初始化时不会产生缺页中断外,以后每对两行元素初始化时都要产生一次缺页中断,故缺页中断次数为50一2次。知识点解析:暂无解析23、假定某采用页式存储管理的系统中,主存容量为1MB,被分成256块,块号为0,1,2,…,255。现有一个共4页(页号为0、1、2、3)的作业被依次装入到主存的第2、4、1、5块中。请问:(1)主存地址应该用多少位来表示?(2)作业每一页的长度为多少字节?逻辑地址中的页内地址部分应占用多少位?(3)把作业中每一页占用的主存块起始地址填入下表。(4)若作业执行中要从第0页的第75单元和第3页的第548单元读信息,那么实际应从主存的哪两个单元读信息?请把应访问的主存绝对地址用二进制编码的十六进制数表示。标准答案:(1)主存地址应该用20位来表示。(2)作业每一页的长度应为212=4096B,逻辑地址中的页内地址部分应占用12位。(3)作业中每一页占用主存块的起始地址为:(4)若作业执行中要从第0页的第75单元读信息,则实际应从主存的第2块第75单元读,应访问的主存绝对地址用二进制编码的十六进制数表示为204BH。若要从第3页的第548单元读信息,则实际应从主存的第5块第548单元读,应访问的主存绝对地址用二进制编码的十六进制数表示为05224H。知识点解析:暂无解析24、某采用段式存储管理的系统为装入主存的一个作业建立了如下的段表:请计算该作业访问[0,432H],[1,010H],[2,500H],[3,400H]时(方括号中第一个元素为段号,第二个元素为段内地址)的绝对地址。处理器能按计算出来的绝对地址存取信息吗?标准答案:段式存储管理支持用户的分段观点,以段为单位进行存储空间的管理。段式存储管理为作业的每一段分配一个连续的主存区域,用来存放各段的信息。段式存储管理要有硬件的地址转换机构作支撑,作业执行时按逻辑地址中的段号查段表得该段在主存中的起始地址,起始地址加段内地址便是当前要访问的绝对地址。为保证信息的安全,这个绝对地址如果在该段的存储区域内则可以访问,否则将产生一个地址越界中断来拒绝访问。本题中,作业访问[0,432]、[1,010]、[3,400]时,由于段内地址均在段长所限制的范围之内,因而绝对地址不会超出该段所占的主存区域,处理器可按绝对地址存取信息。但是,作业访问[2,500]时段内地址超过了规定的段长100,因而处理器拒绝为其存取信息。因此,各次访问时所对应的绝对地址(假设均采用十六进制数表示)如下:除了对[2,500H]的访问请求超出了规定的存储区域使处理器拒绝存取信息外,其余的访问请求都将由处理器按绝对地址为其存取信息。知识点解析:暂无解析25、为什么要引入动态分段存储管理?它与请求页式存储管理有什么区别?标准答案:(1)一个大的进程可能包含很多个程序模块。对它们进行链接要花费大量的CPu时间,而实际执行时则可能只用到其中的一小部分模块。因此,从减少CPU开销和减少存储空间浪费的角度来看,静态链接是不合适的,因此引入动态分段存储管理。(2)它与请求页式存储管理的区别:第一,分页的作业地址空间是单一的线性地址空间,而分段作业的地址空间是二维的。第二,页是信息的物理单位,大小固定;段是信息的逻辑单位,其长度不定。第三,分页管理实现的是单段式虚拟存储系统,而分段存储管理实现的是多段式虚拟存储系统。知识点解析:暂无解析26、请较详细地说明,引入分段存储管理是为了满足用户哪几方面的需要?标准答案:(1)方便了编程;(2)实现了分段共享:(3)实现了分段保护:(4)实现了动态链接:(5)实现了动态增长。知识点解析:暂无解析27、段页式存储管理方式中如何实现地址变换?标准答案:首先,必须配置一段表寄存器,在其中存放段表始址和段长TL。进行地址变换时,先利用段号S,与段长TL进行比较,若S<TL,表示未越界(若S≥TL,表示段号太大,访问越界,产生越界中断信号),于是利用段表始址和段号来求出该段对应的段表项在段表中的位置,从中求出该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再用块号b和页内地址构成物理地址。知识点解析:暂无解析28、为什么说分段系统较之分页系统更易于实现信息共享和保护?标准答案:(1)对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项。(2)对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可。知识点解析:暂无解析29、分页和分段有何区别?标准答案:(1)共同点是:分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换。(2)不同点是:第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要。第二,页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序。第三,分页的作业地址空间是一维的,而分段的作业地址空间是二维的。知识点解析:暂无解析计算机专业基础综合(操作系统)模拟试卷第2套一、单选题(本题共21题,每题1.0分,共21分。)1、计算机系统中判别是否有中断事件发生应是在()。A、进程切换时B、执行完一条指令后C、执行P操作后D、由用户态转入核心态时标准答案:B知识点解析:系统中,只有当执行完一条指令后,才判别是否有中断发生。2、若当前进程因时间片用完而让出处理机时,该进程应转变为()状态。A、就绪B、等待C、运行D、完成标准答案:A知识点解析:当时间片用光后,进程变为就绪状态。3、一种既有利于短小作业又兼顾到长作业的作业调度算法是()。A、先来先服务B、轮转C、最高响应比优先D、均衡调度标准答案:C知识点解析:暂无解析4、作业调度程序是从处于()状态的作业中选取一个作业并把它装入主存。A、输入B、收容C、执行D、完成标准答案:B知识点解析:在作业调度中,选取的是正在收容的作业装入内存。5、进程处于下列()等待状态时,它是处于非阻塞状态。A、等待从键盘输入数据B、等待协作进程的一个信号C、等待操作系统分配CPU时间D、等待网络数据进入内存标准答案:C知识点解析:等待操作系统分配CPU时间属于就绪状态,其他三种均属于阻塞状态。6、若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由()临界区构成。A、2个B、3个C、4个D、5个标准答案:D知识点解析:暂无解析7、在多进程的并发系统中,肯定不会因竞争()而产生死锁。A、打印机B、磁带机C、磁盘D、CPU标准答案:D知识点解析:暂无解析8、通常不采用()方法来解除死锁。A、终止一个死锁进程B、终止所有死锁进程C、从死锁进程处抢夺资源D、从非死锁进程处抢夺资源标准答案:D知识点解析:解除死锁的主要方法有:①终止一个或多个死锁进程;②剥夺死锁进程的资源。9、进程所请求的一次打印输出结束后,将使进程状态从()。A、运行态变为就绪态B、运行态变为等待态C、就绪态变为运行态D、等待态变为就绪态标准答案:D知识点解析:暂无解析10、共享变量是指()访问的变量。A、只能被系统进程B、只能被多个进程互斥C、只能被用户进程D、可被多个进程标准答案:D知识点解析:暂无解析11、UNIX系统中,进程调度采用的技术是()。A、时间片轮转B、先来先服务C、静态优先数D、动态优先数标准答案:D知识点解析:暂无解析12、死锁现象是由于()造成的。A、CPU数量不足B、内存数量不足C、多个进程抢夺并独占资源D、作业批处理标准答案:C知识点解析:死锁是指多个进程在占有一定资源的同时还寄希望得到其他进程占有的资源,而该进程也是占有一定的资源且不放弃的同时期望获得其他进程占有的资源,进程间相互不让步,造成各个进程均无法推进的现象。13、临界区是指()。A、一组临界资源的集合B、可共享的一块内存区C、访问临界资源的一段代码D、请求访问临界资源的代码标准答案:C知识点解析:每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的可轮流分享的资源)。使用时,每次只准许一个进程进入临界区,一旦一个进程进入临界区之后,不允许其他进程同时进入。进程进入临界区的调度原则是:(1)如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。(2)任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其他所有试图进入临界区的进程必须等待。(3)进入临界区的进程要在有限时间内退出,以便其他进程能及时进入自己的临界区。(4)如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。14、在一段时间内,只允许一个进程访问的资源称为()。A、共享资源B、独占资源C、临界资源D、共享区标准答案:C知识点解析:在现代计算机系统中,有一些资源不能被多个进程同时使用,这样的资源如果使用或分配不当会造成错误,它们只能被排他地使用,这样的资源就是临界资源。15、不需要信号量能实现的功能是()。A、进程同步B、进程互斥C、执行的前趋关系D、进程的并发执行标准答案:D知识点解析:本题考查信号量的功能。在多道程序系统中,信号量机制是一种有效的实现进程同步与互斥的工具。进程执行的前趋关系实质上是指进程的同步关系。除此以外,只有进程的并发执行不需要信号量来控制,因此正确答案为D。16、当中断发生后,进入中断处理的程序属于()。A、用户程序B、OS程序C、可能是用户程序,也可能是OS程序D、单独的程序,既不是用户程序,也不是OS程序标准答案:B知识点解析:在现代操作系统的设计中,为了保证系统的安全,将系统的工作状态划分为目态和管态两种,只有操作系统的核心才能工作在管态,而中断处理程序必须工作在管态,故其属于操作系统程序。17、某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是()。A、2B、3C、4D、5标准答案:C知识点解析:当K<4(即K的值取为3及其以下值)的时候,系统可以为某个进程分配打印机资源,并可以确保在有限的时间内使某个进程完成并且退还其已经占用的打印机,进而使各个进程能够依次顺利地完成。而当K≥4的时候,就构成了死锁需要的条件,会引起死锁的产生,所以答案为C。18、进程P0和P1的共享变量定义及其初值如下:booleanflag[2];intturn=0;flag[0]=false;flag[1]=false;若进程P0和P1访问临界资源的伪代码按照下面设计:voidP0()f//进程P0voidP1(){//进程Plwhile(TRUE){while(TRUE){flag[0]=TRUE;flag[0]=TRUE;turn=1;turn=0;while(flag[1]&&(turn==1))while(flag[0]&&(turn==0))临界区:临界区;flag[0]=FALSE;flag[1]=FALSE;}}}}则并发执行进程P0和P1时产生的情况是()。A、不能保证进程互斥进入临界区,会出现“饥饿”现象B、不能保证进程互斥进入临界区,不会出现“饥饿”现象C、能保证进程互斥进入临界区,会出现“饥饿”现象D、能保证进程互斥进入临界区,不会出现“饥饿”现象标准答案:A知识点解析:从题中给出的伪代码可知,由于信号量nag的赋值方法不对,因此会使得不能保证进程互斥进入临界区,会出现“饥饿”现象。19、下列选项中,降低进程优先级的合理时机是()。A、进程的时间片用完B、进程刚完成I/O,进入就绪列队C、进程长期处于就绪列队D、进程从就绪状态转为运行状态标准答案:A知识点解析:在此题中,进程完成I/O,进入就绪队列;长期处于就绪队列的进程需要尽快得到处理机为它服务,进程从就绪状态转为运行状态的时候也不能降低进程的优先级,只有在进程的时间片用完才是降低进程优先级的最好时机。20、假设与某类资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是()。A、0、1B、1、0C、1、2D、2、0标准答案:B知识点解析:按照信号量的定义,与资源相关联的信号量的取值是与当前可用资源数量一致的,因此M为1,而依题意,目前没有等候该资源的进程,故N的值为0。21、下列选项中,导致创建新进程的操作是()。I.用户登录成功Ⅱ.设备分配Ⅲ.启动程序执行A、仅I和ⅡB、仅Ⅱ和ⅢC、仅I和ⅢD、I、Ⅱ、Ⅲ标准答案:C知识点解析:用户登录成功、启动程序执行均会导致创建新进程,而设备分配则不会。二、综合应用题(本题共11题,每题1.0分,共11分。)22、试修改下面生产者一消费者问题解法中的错误。producer:beginrepeatproduceraniteminnextp;wait(mutex);wait(full);buffer(in):=nextp;signal(mutex);untilfalse;endconsUmer:beginrepeatwait(mutex);wait(empty);nextc:=buffer(out):out:=out+1;signal(mutex);consumeriteminnextc;untilfalse;end标准答案:producer:beginrepeatproduceraniteminnextp;wait(mutex):wait(full):/*应为wait(empty),而且还应该在wait(mutex)的前面*/buffer(in):=nextp:/*缓冲池数组游标应前移:in:=(in+1)modn:*/signal(mutex);/*signal(full):*/untilfalse;endconsumer;beginrepeatwait(mutex):wait(empty);/*应为wait(full),而且还应该在wait(mutex)的前面*/nextc:=buffer(out):out:=out+1:/*考虑循环,应改为:out:=(out+1)roodn:*/signal(mutex):/*signal(empty);*/consumeriteminnextc:untilfalse;end知识点解析:暂无解析23、3个进程P1、P2、P3互斥使用一个包含N个(N>0)单元的缓冲区,P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这3个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。标准答案:(1)定义信号量s1控制P1与P2之间的同步,s2控制P1与P3之间的同步,empty控制生产者与消费者之间的同步,mutex控制进程间互斥使用缓冲区。(2)程序如下:vars1=0,s2=0,empty=N,mutex=1:parbeginP1:beginX=produce();/*生成一个数*/P(empty);/*判断缓冲区是否有空单元*/P(mutex);/*缓冲区是否被占用*/Put():IfX%2==0V(s2);/*如果是偶数,向P3发出信号*/elseV(s1);/*如果是奇数,向P2发出信号*/V(mutex);/*使用完缓冲区,释放*/endP2:beginP(s1);/*收到P1发来的信号,已产生一个奇数*/P(mutex);/*缓冲区是否被占用*/Getodd();Countodd():=eountodd()+1;V(mutex):/*释放缓冲区*/V(empty);/*向P1发信号,多出一个空单元*/endP3:beginP(s2)/*收到P1发来的信号,已产生一个偶数*/P(mutex);/*缓冲区是否被占用*/Geteven();Counteven():=courlteven()+1;V(mutex);/*释放缓冲区*/v(empty):/*向P1发信号,多出一个空单元*/endparend知识点解析:暂无解析24、假设程序PA和PB单独执行时所需的时间分别用TA和TB表示,并且假设TA=1h,TB=1.5h,其中处理器工作时间分别为TA=18min,TB=27min,如果采用多道程序设计方法,让PA和PB并行工作,假定处理器利用率达到50%,系统开销为15min,请问系统效率能提高多少?标准答案:(1)在串行情况下,两个程序运行时间共计2.5h;在并行方式下,处理器利用率为50%,说明处理器的工作时间占总运行时间的50%。根据已知条件,“处理器工作时间分别为TA=18min,TB=27min”,即总运行时间为(18+27)÷50%(min),考虑到还有15min系统开销,故并行与串行的效率比为并行处理所需的时间÷串行处理所需要的时间总和=[(18+27)÷50%+15]÷2.5÷60=70%。(2)即采用多道处理技术之后,完成程序PA和程序PB所需的时间为串行处理方法的70%。因此可以说效率提高了30%。知识点解析:暂无解析25、某多道程序设计系统配有一台处理器和两台外设IO1、IO2,现有3个优先级由高到低的J1、J2、J3都已装入了主存,它们使用资源的先后顺序和占用时间分别是:J1:IO2(30ms),CPU(10ms);IO1(30ms),CPU(10ms);J2:IO1(20ms),CPU(20ms);IO2(40ms);J3:CPU(30ms),IO1(20ms)。处理器调度采用可抢占的优先数算法,忽略其他辅助操作时间,回答下列问题。(1)分别计算作业J1、J2和J3从开始到完成所用的时间。(2)3个作业全部完成时CPU的利用率。(3)3个作业全部完成时外设101的利用率。标准答案:为了清楚地描述作业执行情况,我们对题目假设的情况分析如下:(1)J1占用102传输30ms时,J1传输完成,抢占J2的CPU,运行10ms,再传输30ms,运行10ms,完成。J1从开始到完成所用的时间为:30+10+30+10=80(ms)。J2与其并行地在101上传输20ms,抢占J3的CPU,J2运行10ms后,被J1抢占CPU,等待10ms之后,J2再次得到CPU,运行10ms,J2启动102传输,40ms完成。J2从开始到完成所用的时间为:20+10+10+10+40=90(ms)。J3在CPU上执行20ms,被J2抢占CPU,等待30ms,再运行10ms,等待10ms,J3启动IO1运行20ms的传输,完成。J3从开始到完成所用的时间为20+30+10+10+20=90(ms)。(2)三个作业全部完成时,CPU的利用率为(10+20+30+10)/90=7/9=78%。(3)三个作业全部完成时,外设IO1的利用率为(20+30+20)/90=7/9=78%。知识点解析:暂无解析26、有A、B两个程序,程序A按顺序使用CPU为10s,使用设备甲为5s,使用CPU为5s,使用设备乙为5s,最后使用CPU为10s。程序B按顺序使用设备甲为10s、使用CPU为10s,使用设备乙为5s,再使用CPU为5s,使用设备乙为10s,试问:(1)在顺序环境下执行程序A和程序B,CPU的利用率是多少?(2)在多道程序环境下,CPU的利用率是多少?标准答案:此题考查学生对并发程序概念的理解。(1)程序A和程序B顺序执行时,程序A执行完毕程序B才开始执行。两个程序共耗时75s,其中占用CPU的时间为40s,因此顺序执行时CPU的利用率为40÷75=53%。(2)在多道程序环境下,两个程序并发执行,其执行情况如下表所示。由表中数据可以看出,两个程序共耗时40s,其中CPU运行时间为40s,故此时CPU的利用率为40/40=100%。知识点解析:暂无解析27、何谓死锁?产生死锁的原因和必要条件是什么?在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高?标准答案:(1)死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。(2)产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法。(3)产生死锁的必要条件是互斥条件、请求和保持条件、不可剥夺条件和循环等待条件。(4)解决死锁可归纳为四种方法:预防死锁、避免死锁、检测死锁和解除死锁。(5)解决死锁的四种方法中,预防死锁是最容易实现的,而避免死锁的发生则可以使资源的利用率最高。知识点解析:暂无解析28、简述预防死锁的办法。标准答案:(1)方法一:如果系统当前存在的资源数量能够满足进程的资源需求,便一次性地为进程分配其所需的全部资源;在该进程完成之后再一次性地回收全部资源。这个做法被称为摒弃“请求和保持”条件,该方法可以预防死锁。(2)方法二:当系统中某些进程在已经占有一定数量资源的情况下,又提出新的资源请求,操作系统不能立即满足该进程的需求时,该进程必须立即释放已经占有和保持的所有资源,待以后需要时再重新申请:这种可以剥夺进程资源的做法可以有效地防止死锁的产生。其被称为摒弃“不可剥夺”条件。(3)方法三:就是采用一定的方法,将所有可提供的资源按类型排序编号,所有进程对资源的请求也必须严格按序号递增的次序提出,避免产生资源占有和资源需求的回路出现,造成死锁的产生。此方法也被称为摒弃“环路等待”条件。知识点解析:暂无解析29、为使用户进程互斥地进入临界区,可以把整个临界区实现成不可中断的过程,即用户有屏蔽所有中断的能力。每当用户程序进入临界区的时候,屏蔽所有中断;当出了临界区的时候,再开放所有中断。你认为这种方法有什么缺点?标准答案:此题主要考查中断概念在操作系统设计过程中的重要作用与临界区的概念。用户进程进入临界区时屏蔽所有中断,包括系统程序的中断。假如屏蔽的是用户进程,确实可以保护临界资源,但如果连系统所发出的中断也被屏蔽的话,就会引起系统错误。虽然系统外中断往往与当前运行的程序无关,但如果是一些重要的硬件中断,如电源故障等,就可能会引起错误,故不可盲目屏蔽所有中断。知识点解析:暂无解析30、有三个进程PA、PB和PC合作解决文件打印问题:PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小等于一个记录的大小。请用P、V操作来保证文件的正确打印。标准答案:本题考查用P、V操作解决进程的同步互斥问题。(1)进程PA、PB、PC之间的关系为:PA与PB共用一个单缓冲区,B又与PC共用一个单缓冲区,其合作方式如下图所示。当缓冲区1为空时,进程PA可将一个记录读入其中;若缓冲区1中有数据且缓冲区2为空,则进程PB可将记录从缓冲区1复制到缓冲区2中;若缓;中区2中有数据,则进程PC可以打印记录。在其他条件下,相应进程必须等待。事实上,这是一个生产者一消费者问题。为遵循这一同步规则。应设置4个信号量empty1、empty2、full1、full2,信号量empty1和empty2分别表示缓冲区1及缓冲区2是否为空,其初值为1;信号量full1和full2分别表示缓区1及缓冲区2是否有记录可供处理,其初值为0。(2)相应的进程描述如下:semaphoreemptyl=1://缓冲区1是否为空semaphorefulll=0://缓冲区1是否有记录可供处理semaphoreempty2=1;//缓冲区2是否为空semaphorefull2=0://缓冲区2是否有记录可供处理cobegin{processPA(){while(TRuE){从磁盘读入一条记录;P(emptyl);将记录存入缓冲区1;V(fulll);}}processPB(){while(TRUE){P(fulll);从缓冲区1中取出一条记录;V(empty1);P(empty2);将取出的记录存入缓冲区2;V(full2);}}processPC(){while(TRUE){P(full2);从缓冲区2中取出一条记录:V(empty2):将取出的记录打印出来:}}}coend知识点解析:暂无解析31、在一问酒吧里有3个音乐爱好者队列,第1队的音乐爱好者只有随身听,第2队只有音乐磁带,第3队只有电池。而要听音乐就必须随身听、音乐磁带和电池这3种物品俱全。酒吧老板一次出售这3种物品中的任意两种。当一名音乐爱好者得到这3种物品并听完一首乐曲后,酒吧老板才能再一次出售这3种物品中的任意两种。于是第2名音乐爱好者得到这3种物品,并开始听乐曲。全部买卖就这样进行下去。试用P、V操作正确解决这一买卖。标准答案:本题考查用P、V操作解决进程的同步互斥问题。(1)第1队音乐爱好者要竞争“待出售的音乐磁带和电池”,而且在初始状态下系统并无“待出售的音乐磁带和电池”,故可为该种资源设置一初值为0的信号量buy1;同样,需设置初值为0的buy2、buy3分别对应“待出售的随身听和电池”、“待出售的随身听和音乐磁带”。另外,为了同步买者的付费动作和卖者的给货动作,还需设置信号量payment和goods,以保证买者在付费后才能得到所需商品。信号量music_over用来同步音乐爱好者听乐曲和酒吧老板的下一次出售行为。(2)具体的算法描述如下:semaphorebuy1=buy2=buy3=0?semaphorepayment=0;semaphoregoods=0:semaphoremusic_over=0;cobegin{processboss(){//酒吧老板while(TRUE){拿出任意两种物品出售;if(出售的是音乐磁带和电池)V(buy1);elseif(出售的是随身听和电池)V(buy2):elseif(出售的是随身听和音乐磁带)V(buy3);P(payment);//等待付费V(goods);//给货P(music_over);//等待乐曲结束}}processfanl(){//第1队音乐爱好者while(TRUE){P(buy1);//等待有音乐磁带和电池出售V(payment);//付费P(goods);//取货欣赏一曲乐曲:V(music_over);//通知老板乐曲结束}}processfan2(){//第2队音乐爱好者while(TRUE){P(buy2);//等待有随身听和电池出售V(payment);//付费P(goods);//取货欣赏一曲乐曲:V(music_over);//通知老板乐曲结束}}processfan3(){//第3队音乐爱好者while(TRUE){P(buy3);//等待有随身听和音乐磁带出售V(payment);//付费P(goods);//取货欣赏一曲乐曲:V(music_over);//通知老板乐曲结束}}}coend知识点解析:暂无解析32、兄弟俩共同使用一个账号,每次限存或取10元,存钱与取钱的进程分别如下所示:intamount=0:SAVE(){intm1:m1=amount:m1=m1+10:amount=m1:}TAKE(){intm2;m2=amount:m2=m2一10:amount=m2:}由于兄弟俩可能同时存钱和取钱,因此两个进程是并发的。若哥哥先存了两次钱,但在第三次存钱时弟弟在取钱。请问:(1)最后账号amount上面可能出现的值是多少?(2)如何用P、V操作实现两并发进程的互斥执行?标准答案:本题考查P、V操作实现进程的互斥。(1)哥哥存两次钱后,共享变量amount的值为20。哥哥的第三次存钱与弟弟的取钱同时进行,如果两者顺序执行,则最后amount的值为20;如果在一个进程的执行过程中进行CPU调度,转去执行另一进程,则最后amount的值取决于amount=m1及amount=m2的执行先后次序,若前者先执行,则最后amount的值为10,若后者先执行,则最后amount的值为30。因此,最后账号amount上可能出现的值有10、20、30。(2)在上述问题中,共享变量amount是一个临界资源,为了实现两并发进程对它的互斥访问,可为它设置一初值为1的互斥信号量mutex,并将上述算法修改为:intamount=0;semaphoremutex=1;//g斥访问amount变量的信号量cobegin{processSAVE(){intm1;P(mutex):m1=amount:m1=m1+10:amount=m1;V(mutex):}processTAKE(){intm2;P(mutex);m2=amount:m2=m2—10;amount=m2;V(mutex);}}coend知识点解析:暂无解析计算机专业基础综合(操作系统)模拟试卷第3套一、单选题(本题共21题,每题1.0分,共21分。)1、下列选项中,操作系统提供给应用程序使用的接口是()。A、系统调用B、中断C、库函数D、原语标准答案:A知识点解析:在现代操作系统中,操作系统提供了包括系统调用、命令接口、图形接口等方便用户使用系统资源的接口,在上述接口中,只有系统调用是提供给程序使用的。2、下列进程调度算法中,综合考虑了进程等待时间和执行时间的是()。A、时间片轮转调度算法B、最短进程优先调度算法C、先来先服务调度算法D、高响应比优先调度算法标准答案:D知识点解析:在若干进程调度算法中,时间片轮转调度算法考虑的是时间分配上的均衡,最短进程优先调度算法主要考虑的是短作业的等待时间,先来先服务调度算法考虑的是到达顺序的合理性,而只有高响应比优先调度算法做到了综合考虑进程等待时间和执行时间。3、单处理机系统中,可并行的是()。I.进程与进程Ⅱ.处理机与设备Ⅲ.处理机与通道Ⅳ.设备与设备A、I、Ⅱ和ⅢB、I、Ⅱ和ⅣC、I、Ⅲ和ⅣD、Ⅱ、Ⅲ和Ⅳ标准答案:D知识点解析:在单处理机系统中,仅有一个处理机,所以在一个特定的时刻只能有一个进程能够获得处理机的使用权,因而排除选项A、B和C,只有选项D是合理的答案。4、如果有一个进程从运行状态变成等待状态,或完成工作后就撤销,则必定会发生()。A、进程切换B、存储器再分配C、时间片轮转D、死锁标准答案:A知识点解析:此题主要考查进程切换的相关内容。进程调度将从就绪队列中另选一个进程占用处理机。使~个进程让出处理要,由另一个进程占用处理机的过程称为进程切换。若有一个进程从运行状态变成等待状态,或者进程完成工作后被撤销,则必定会发生进程切换;若一个进程从等待状态变成就绪状态,则不一定会发生进程切换。5、在时间片轮转算法中,()的大小对计算机性能有很大影响。A、对换区B、分页C、时间片D、程序段标准答案:C知识点解析:此题主要考查在时间片轮转算法中时间片大小对于系统性能的重要性。在时间片轮转算法中,时间片的大小对计算机性能有很大影响。如果时间片划分不当,则系统不能提供令用户满意的响应时间。时间片的大小应选择得适当,通常要考虑以下几个因素:(1)系统对响应时间的要求:(2)就绪队列中进程的数目:(3)系统的处理能力。6、在操作系统中,资源分配、调度和管理的最小单位是()。A、进程B、线程C、作业D、程序段标准答案:A知识点解析:此题主要考查进程调度的基本概念等相关内容。进程的引入可以更好地描述系统中的并发活动。它被定义为一个具有独立功能的程序关于某个数据集合的一次运行活动。在操作系统中,进程是进行系统资源分配、调度和管理的最小独立单位,操作系统的各种活动都与进程有关。7、正在运行的进程,因某种原因而暂时停止运行,等待某个事件的发生,此时处于()状态。A、运行B、完成C、就绪D、阻塞标准答案:D知识点解析:此题主要考查进程的基本状态及其转换等相关内容。在操作系统中,进程的三种基本状态之一的阻塞状态是指正在运行的进程,因某种原因而暂停运行(如发生了I/O请求等),等待某个事件的发生,导致进程不能继续运行且交出处理机时的状态。8、进程从运行状态转换为就绪状态的可能原因是()。A、被调度程序选中占用处理机B、等待某一事件C、等待的事件已经发生D、时间片用完标准答案:D知识点解析:就绪状态是指一个进程获得了除处理机以外的一切资源,当得到调度时,就由就绪状态转换为运行状态;运行状态就是一个进程在处理机上正在运行。当处于运行状态的进程在运行过程中所分配的时间片用完,则会被强制撤离处理机,以便调度其他进程运行。由于原先运行的进程是非自愿地离开运行状态,所以没有其他的事件相关,只有继续在就绪队列中等候下一次的调度,所以选项D是正确的。选项A的情形是由就绪状态转换为运行状态;选项B的情形是由运行状态转换为阻塞状态;选项C的情形是由阻塞状态转换为就绪状态。9、设m为同类资源数,n为系统中并发进程数。当n个进程共享m个互斥资源时,每个进程的最大需求是ω,则下列情况中会出现系统死锁的是()。A、m=2,n=1,ω=2B、m=2,n=2,ω=1C、m=4,n=3,ω=2D、m=4,n=2,ω=3标准答案:D知识点解析:本题考查死锁的检测。选项A不会发生死锁,只有一个进程时不会发生死锁。选项B不会发生死锁,两个进程各需要一个资源,而系统中恰好有2个资源。选项C不会发生死锁,3个进程需要的最多资源数都是2,系统总资源数是4,所以总会有一个进程得到2个资源,运行完毕后释放资源。选项D可能会发生死锁,当2个进程各自都占有了2个资源后,系统再无可分配资源。由此可得出结论:当满足m≥n(ω一1)+1时,不会产生死锁。10、在操作系统中引入并发可以提高系统效率。若有三个进程P1、P2和P3,按照P1,P2到P3的优先次序运行,采用可抢占式调度,其运行过程如下:P1:计算6ms,I/O8ms,计算2msP2:计算12ms,I/O6ms,计算2msP3:计算4ms,I/O8ms,计算4ms不计系统开销,相比单通道顺序运行,多道并发可以节省的时间和CPU利用率分别是()。A、14ms;79%B、16ms;83%C、12ms;75%D、22ms:100%标准答案:A知识点解析:本题考查多道程序运行的工作方式,解决此类问题的关键一般是根据进程的优先级和时序关系画出时序图,注意I/O设备不能抢夺,CPU可以根据优先级来抢夺。根据题意,进程运行时序图如下:单道运行时需要耗时:6+8+2+12+6+2+4+8+4=52(ms)从表中分析,并发运行时需要耗时:6+8+2+4+4+2+2+6+4=38(ms)节省时间为52—38=14(ms)CPU效率为(6+8+2+4+4+2+4)/38=79%11、系统产生死锁的可能原因是()。A、共享资源分配不当B、系统资源不足C、进程运行太快D、CPU内核太多标准答案:A知识点解析:系统死锁的可能原因主要是时间上和空间上的。时间上由于进程运行中推进顺序不当,即调度时机不合适,不该切换进程时进行了切换,可能会造成死锁。空间上的原因是对共享资源分配不当,互斥资源部分分配又不可剥夺,极易造成死锁。那么,为什么系统资源不足不是造成死锁的原因呢?系统资源不足只会对进程造成“饥饿”,例如,某系统只有3台打印机,若进程运行中要申请4台,显然不能满足,该进程会永远等待下去。如果该进程在创建时便声明需要4台打印机,那么操作系统立即就会拒绝,不会创建该进程。一般地,系统由于部分分配的剩余资源不足时,可能会造成死锁,这实际上是资源分配不当的一种表现。不能以系统资源不足来描述剩余资源不足的情形。12、若有一进程拥有100个线程,这些线程都属于用户级线程,则在系统调度执行时间上占用的时间片是()。A、1B、100C、1/100D、0标准答案:A知识点解析:本题主要考查关于进程和线程之间资源共享的知识点。在引入线程的操作系统中,线程是进程中的一个实体,是系统独立调度和分派的基本单位。但是线程自己基本上不拥有系统资源,所以它不是资源分配的基本单位,它只拥有一部分在运行中必不可少的与处理机相关的资源,如线程状态、寄存器上下文和栈等,它同样有就绪、阻塞和执行三种基本状态。它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。由于用户线程不依赖于操作系统内核,因此,操作系统内核是不知道用户线程的存在的,用户线程是由用户来管理和调度的,用户利用线程库提供的API来创建、同步、调度和管理线程。所以,用户线程的调度在用户程序内部进行,通常采用非抢占式和更简单的规则,也无须用户态和核心态切换,所以速度很快。由于操作系统不知道用户线程的存在,所以,操作系统把CPu的一时间片分配给用户进程,再由用户进程的管理器将时间分配给用户线程。那么,用户进程能得到的时间片即为所有用户线程共享。因此,正确答案应为A。13、有五个进程共享一个互斥段,如果最多允许两个进程同时进入互斥段,则所采用的互斥信号量初值应该是()。A、5B、2C、1D、O标准答案:B知识点解析:。因为最多允许两个进程同时进入互斥段,所以信号量为2。如果一个互斥段可以同时允许两个进程进入,则相当于有两个互斥段。14、2个优先级相同的并发进程P1和P2,它们的执行过程如下所示,假设当前信号量s1=0,s2=0,当前的z=2,进程运行结束后,x、y和z的值分别为()。进程P1进程P2y:=l;x:=l;y:=y+2;x::x+l;z:=y+1;P(s1):V(s1);x:=x+y;P(s2);z:=x+z;y:=z+y;V(s2);A、5,9,9B、5,9,4C、5,12,9D、5,12,4标准答案:C知识点解析:本题考查并发进程的特点,并结合信号量进行同步的原理。由于进程并发,所以进程的执行具有不确定性,在P1、P2执行到第一个P、V操作前,应该是相互无关的。现在考虑第一个对1的P、V操作,由于进程P2是P(s1)操作,所以,它必须等待P1执行完V(s1)操作以后才可继续运行,此时x、y、z的值分别为3、3、4,当进程P1执行完V(s1)以后便在P(s2)上阻塞,此时P2可以运行直到V(s2),此时x、y、z值分别为5、3、9,进程P1继续运行直到结束,最终的x、y、z值分别为5、12、9。15、设有3个作业,其运行时间分别为2h、5h、3h,假定它们同时到达,并在同一台处理机上以单道运行方式运行,则平均周转时间最小的执行顺序是()。A、J1,J2,J3B、J3,J2,J1C、J2,J1,J3D、J1,J3,J2标准答案:D知识点解析:本题考查平均周转时间的概念,周转时间=等待时间+运行时间,平均周转时间=总周转时间÷n。在本题中,选项A的顺序J1,J2,J3的平均周转时间是(2+7+10)÷3=19÷3=6.3(小时);选项B的顺序J3,J2,J1的平均周转时间是(3+8+10)÷3=21÷3=7(小时);选项C的顺序J2,J1,J3的平均周转时间是(5+7+10)÷3=22÷3=7.3(小时);选项D的顺序J1,J3,J2的平均周转时间是(2+5+10)÷3=17÷3=5.7(小时)。因此,答案为D。16、关于临界区问题(criticalsectionproblem)有如下算法(假设只有进程P0和P1可能进入该临界区),算法如下(i为0或1),该算法()。repeatretry:if(turn#一1)turn:=i:if(turn#i)gotoretry;turn:=一1:criticalsection(临界区)turn=0;remaindersection(其他区域)untilfalse;A、不能保证进程互斥进入临界区,且会出现“饥饿”B、不能保证进程互斥进入临界区,但不会出现“饥饿”C、保证进程互斥进入临界区,但会出现“饥饿”D、保证进程互斥进入临界区,不会出现“饥饿”标准答案:A知识点解析:例如当P0执行完语句turn:=一1,刚好要进入临界区时,CPU又调度P1执行,P1能够顺利进入临界区,不能满足互斥。当P0执行完临界区时,CPU调度P1执行,P1在retry循环,CPU调度P0执行,P0继续执行,重复以上过程,会导致P1“饥饿”。17、下列死锁的论述中,正确的是()。A、由于产生死锁的基本原因是系统资源不足,因而,预防死锁最常用的方法是根据系统规模,配置足够的系统资源B、由于产生死锁的另一个基本原因是进程推进顺序不当,因而,预防死锁的常用方法是使进程的推进顺序合法C、只要系统不进入不安全状态,便不会产生死锁,因而,预防死锁的常用方法是防止系统进入不安全状态D、可以通过破坏产生死锁的四个必要条件之一或其中几个的方法来预防发生死锁标准答案:D知识点解析:选项A,不可能根据系统的规模,配置足够的系统资源,因为系统的资源是有限的。选项B,这种方法不能保证死锁不发生,而且进程推进过程很复杂,实现合理的顺序不太可能。选项C,系统进入不安全状态不一定会产生死锁,防止系统进入不安全状态不太可能,故不是常用的方法。18、下列关于进程的叙述中,最不符合操作系统对进程的理解的是()。A、进程是在多程序并行环境中的完整的程序B、进程可以由程序、数据和进程控制块描述C、线程是一种特殊的进程D、进程是程序在一个数据集合上运行的过程,是系统进行资源管理的一个独立单位标准答案:A知识点解析:A的说法不够全面。19、下列进程调度算法中,综合考虑了CPU密集型进程和I/O密集型进程的是()。A、时间轮转B、优先级C、多重队列D、FIFO标准答案:C知识点解析:多重队列通过将进程分类,在系统中设置若干队列进行进程调度,综合考虑了CPU密集型进程和I/O密集型进程。20、进程P1、P2和P3单独执行时间分别为10min、15min和20min,其中处理机占用时间分别为2min、3min和12min。如果采用多道程序设计技术使其并发,并假设处理机的利用率可以达到60%,加上系统开销5min,则并发使得计算机系统的效率提高了()。A、63%B、38%C、74%D、26%标准答案:D知识点解析:本题考查并发的计算。由于本题并没有详细描述进程的执行过程,所以,计算是以总体效率来进行的。总体效率是指并发执行所花费的时间值与原时间值相比提高了多少。依本题题意,可以计算出处理机所需时间为2+3+12=17(min),按处理机60%的利用率,并发所需总时间为17÷60%+5=33.33(min),单道运行时所需要的总时间为10+15+20=45(min),则系统效率提高了(45—33.33)÷45=26%。注意题意,并发时不要忘记系统开销5min。单道执行时由于较少需要进程切换,因此系统开销一般忽略不计。并发时系统要进行大量的进程切换,因此,系统开销有时会比较大,此时就应该纳入计算。21、进程创建的时候,不需要做的是()。A、填写一个该进程的进程表项B、分配该进程适当的内存C、将该进程插入就绪队列D、为该进程分配CPU标准答案:D知识点解析:本题考查的是进程创建的过程。进程创建最主要的工作是为该进程申请并填写一张进程表。进程表内包含有多个与进程有关的数据结构,例如,进程号、进程组、进程的优先级、进程所分配的内存、进程需要的I/O设备、进程要打开的文件等。当填写好了进程表以后,进程创建模块便将进程表按照该系统规定的法则插入到就绪队列的适当位置,等待进程调度模块进行下一步的调度。所以进程创建的过程中不会包含分配CPU的过程,这不是进程创建的工作,而是调度器的工作。二、综合应用题(本题共11题,每题1.0分,共11分。)22、某系统有R1、R2和R3三种资源,在T0时刻P1、P2、P3和P4四个进程对资源的占用和需求情况如下表所示,此时系统的可用资源向量为(2,1,2)。(1)系统是否处于安全状态?如安全,请给出一个安全序列。(2)如果此时P1和P2均发出资源请求向量Request(1,0,1),为了保证系统的安全性,应该如何分配资源给这两个进程?说明你所采用的策略的原因。(3)如果(2)中两个请求立即得到满足,系统此刻是否处于死锁状态?标准答案:本题考查采用银行家算法避免死锁。(1)利用安全性算法对T0时刻的资源分配情况进行分析,可得到如下表所示的安全性检测情况。可以看出,此时存在一个安全序列{P2,P3,P4,P1},故该系统是安全的。(2)若此时P1发出资源请求Requestl(1,0,1),按银行家算法进行检查:Request1(1,0,1)≤Needl(2,2,2)Request1(1,0,1)≤Available(2,1,2)试分配并修改相应的数据结构,由此形成的资源分配情况如下表所示。(3)如果(2)中两个请求立即得到满足,此刻系统并没有立即进入死锁状态,因为这时所有进程没有提出新的资源申请,全部进程均没有因资源请求没有得到满足而进入阻塞状态。只有当进程提出资源请求,且全部进程都进入阻塞状态时,系统才处于死锁状态。知识点解析:暂无解析23、系统有5个进程,其就绪时刻(指在该时刻已进入就绪队列)、服务时间如下表所示。分别计算采用先来先服务、短作业优先、高响应比优先的平均周转时间和带权周转时间。标准答案:本题考查各种调度算法的执行以及性能分析。(1)采用先来先服务调度时,执行作业的次序为P1、P2、P3、P4、P5,如下表所示。(2)采用短作业优先调度时,执行作业的次序为P1、P2、P5、P3、P4,如下表所示。(3)采用高响应比优先调度时,响应比=响应时间/运行时间。在时刻0,只有进程P1就绪,执行P1,在时刻3结束。此时刻只有P2就绪,执行P2,在时刻9结束。此时刻P3、P4、P5均就绪,计算它们的响应比分别为2.25、1.6、1.5,则选择执行P3,在时刻13结束。此时刻P4、P5均就绪,计算它们的响应比分别为2.4、3.5,则选择执行P5,在时刻15结束。此时刻只有P4就绪,执行P4,在时刻20结束。整个执行作业的次序为P1、P2、P3、P5、P4,如下表所示。知识点解析:暂无解析24、有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试分别用信号量和P、V操作以及管程来实现用户进程的同步算法。标准答案:(1)使用信号量和P、V操作:varA:array[1..100]ofRec;Rec=recordnumber:integer:name:string;end;i:integer;fori:=1to100do{A[i].number:=i;A[i].name:=null;}mutex,seatcount:semaphore;//semaphore:信号量mutex:=1:seatcount:=100;cobeginprocessreaderi(varreadername:string)(i=1,2,…){P(seatcount);P(mutex);fori:=1to100do{i++.ifA[i].name==nullthenA[i].name:=readername;//读者登记}/*必须采用这种方式,因为该空位是随机产生的。我们无法知道哪个读者何时离开*/V(mutex)进入阅览室,座号i,坐下读书;P(mutex)://读书完毕,需要退场A[i]name:=null;V(mutex);V(seatcount);离开阅览室;}coend(2)使用管程操作:TYPEreadbook=monitorVARR:condition;i,seatcount:integer;name:array[1..100]ofstring;DEFINEreadercome,readerleave;USEcheck,wait,signal,release;procedurereadercome(readername)begincheck(IM);ifseatcount≥100wait(R,IM)seatcount:=seatcount+1:fori=1to100doi++ifname[i]==nullthenname[i]:=readername:gettheseatnumber=i;release(IM);endprocedurereaderleave(readername)begincheck(IM);seatcount一一;fori=1to100doi++ifname[i]==readernamethenname[i]:=null;release(IM);endbeginseatcount:=100;name:=null;endcobeginprocessreaderi(i=1,2.…)beginreadercome(readername):readthebook:readerleave(readername);leaVethereadroom:endcoend知识点解析:暂无解析25、设有n个进程共享一个互斥段,如果:(1)每次只允许一个进程进入互斥段;(2)每次最多允许m个进程(m≤n)同时进入互斥段。试问:所采用的信号量初值是否相同?信号量值的变化范围如何?标准答案:所采用的互斥信号量初值不同。(1)互斥信号量初值为1,变化范围为[一n+1,1]。当没有进程进入互斥段时,信号量值为1;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为0;当有1个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为一1;最多可能有n一1个进程等待进入互斥段,故此时信号量的值应为一(n—1),也就是一n+1。(2)互斥信号量初值为m,变化范围为[一n+m,m]。当没有进程进入互斥段时,信号量值为m;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为m—1;当有m个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为0;当有m个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为一1;最多可能有n—m个进程等待进入互斥段,故此时信号量的值应为一(n—m),也就是一n+m。知识点解析:暂无解析26、设某系统采用可抢占的优先级进程调度算法,系统在某一段时间内有A、B、C三个进程,进程C优先级最高,进程A优先级最低,进程B优先级介于进程A、C之间,它们的就绪时刻、计算与I/O所需时间如下表所示:(1)若系统采用多道方式运行,给出这三个进程运行完成总共所需的时间,并用图示给出三个进程的实际运行过程(忽略进行系统调度所需时间)。(2)采用多道方式运行比采用单道方式运行可节省多少时间?标准答案:(1)若系统采用多道方式运行,这三个进程运行完成总共所需的时间为68ms。(2)采用单道方式运行,这三个进程运行完成总共所需的时间为113ms。采用多道方式运行比采用单道方式运行节省时间:113—68=45(ms)知识点解析:暂无解析27、某系统中进程有如下的状态变化图:请回答下列问题:(1)该系统采用了怎样的进程调度算法?说明理由。(2)把图中发生①~

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论