版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023年研究生类研究生入学考试专业课计算机学科专业综合基础-操作系统历年高频考题带答案难题附详解(图片大小可自由调整)第1卷一.历年考点试题黑钻版(共50题)1.与早期的操作系统相比,采用微内核结构的操作系统具有很多优点,但是这些优点不包括______。A.提高了系统的可扩展性B.提高了操作系统的运行效率C.增强了系统的可靠性D.使操作系统的可移植性更好2.在一个完善的文件系统中;可以采取多级保护设施来防止系统中的文件被非法窃取和破坏,第一是______;第二是______;第三是______。3.什么是地址重定位?怎样区分静态重定位和动态重定位?各有什么优缺点?4.操作系统的主要功能是管理计算机系统中的______。A.程序B.数据C.文件D.资源5.假定磁盘块大小为1KB,对于1.2MB的软盘,FAT表需要占用
存储空间。A.1KBB.1.5KBC.1.8KBD.2.4KB6.进程从运行状态变为等待状态的原因是
。A.输入或输出事件发生B.时间片到C.输入或输出事件完成D.某个进程被唤醒7.设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N表示等待该资源的进程数,则M,N分别是______。A.0,1B.1,0C.1,2D.2,08.有一阅览室,读者进入时必须先在一张登记表上登记。该表中每个表项代表阅览室中的一个座位。读者离开时要消掉其登记信息。阅览室共有50个座位。登记表每次仅允许一位读者进行登记或注销。读者登记时,发现登记表满,他在阅览室外等待,直至有空位再登记进入。试用类Pascal语言和P、V操作,描述读者行为。9.下面选项中(
)不是文件存储空间的管理方法。A.位示图法B.成组链接法C.目录法D.空闲表法10.______是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作,使处理机从繁杂的设备控制事物中解脱出来。A.中断装置B.通道C.逻辑D.设备控制器11.文件系统中路径名由
组成。A.磁盘符和目录名B.目录名和文件名C.磁盘符、目录结构的各个目录名、文件名D.磁盘符、根目录、文件名12.文件目录的主要作用是
。A.按名存取B.提高速度C.节省空间D.提高外存利用率13.每个索引文件都至少有一张索引表,其中的每一个表项应包括船标识该记录的,______和该记录的______。14.在酒吧里有3个音乐爱好者队列,第一队的爱好者只有随身听,第二队的只有磁带,第三队的只有电池。而要听音乐必须三样俱全。酒吧老板依次出售这3种物品中的任意两种。当一名爱好者得到这3种物品并听完一首乐曲后,酒吧老板才能再一次出售这3种物品中的任意两种。于是第二名爱好者得到这3种物品,并开始听乐曲。全部买卖就这样进行下去。试用PV操作正确解决该问题。15.在分页式存储管理系统中,进程无法访问不属于它的存储空间的原因是______。A.该页面不在此进程的页表内B.因为会发生缺页中断C.因为无法完成地址变换D.都错,任何进程任何时候都可以访问全部存储空间16.如果一个单处理机系统中有N个进程,运行进程最多______个,最少______个,就绪进程最多______个,最少______个,等待进程最多______个,最少______个。17.并发进程之间相互通信时两个基本的等待事件是
。A.等信件和等信箱B.等消息和等信件C.等发送原语和接收原语D.等消息和等信箱18.一个运行进程必须具备的3种基本状态是______。A.就绪状态、挂起状态和执行状态B.挂起状态、阻塞状态和执行状态C.就绪状态、执行状态和阻塞状态D.就绪状态、执行状态和终止状态19.从物理上看,输入/输出有______、______和______三种模式。20.下列属于实时控制系统的是______。A.飞机自动驾驶系统B.飞机订票系统C.电子商务系统D.管理信息系统21.一次I/O操作的结束,有可能导致______。A.一个进程由阻塞状态变为就绪状态B.几个进程由阻塞状态变为就绪状态C.一个进程由阻塞状态变为运行状态D.几个进程由阻塞状态变为运行状态22.某多道程序设计系统配有一台处理器和两台外设101、102,现有3个优先级由高到低的J1、J2、J3都已装入了主存,它们使用资源的先后顺序和占用时间分别是:
J1:102(30ms),CPU(10ms);101(30ms),CPU(10ms);
J2:101(20ms),CPU(20ms);102(40ms);
J3:CPU(30ms),101(20ms)。
处理器调度采用可抢占的优先数算法,忽略其他辅助操作时间,回答下列问题。
(1)分别计算作业J1、J2和J3从开始到完成所用的时间。
(2)3个作业全部完成时CPU的利用率。
(3)3个作业全部完成时外设101的利用率。23.文件的物理结构中,对索引文件的描述正确的是______。A.索引表中每个记录的索引项可以有多个B.对索引文件存取时,必须先查找索引表C.索引表中含有索引文件的数据及其物理地址D.建立索引表的目的之一是减少其所占有的存储空间24.选出下面描述的是哪一类操作系统
。
(①)该操作系统具有很强的交互性,可同时供多个用户使用,但时间响应不太及时
(②)该类操作系统在用户提交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程自动化
(③)该类操作系统管理的是一个由多台计算机组成的系统,系统资源归局部所有,并被局部控制,用户知道资源存放在何处,并可以共享资源
(④)该类操作系统管理的是一个由多台计算机组成的系统,互相之间无主次之分,相互协调,平衡系统的负载,且共享系统资源;程序由系统中的全部或者部分计算机协同执行
(⑤)该类操作系统的系统响应时间的重要性超过系统资源的利用率,它被广泛地应用于卫星控制、导弹发射、工业控制、飞机订票业务等领域
①A.分时操作系统
B.实时操作系统
C.批处理操作系统
D.多用户操作系统
②A.分时操作系统
B.实时操作系统
C.批处理操作系统
D.单用户操作系统
③、④A.分时操作系统
B.批处理操作系统
C.分布式操作系统
D.网络操作系统
⑤A.分时操作系统
B.实时操作系统
C.分布式操作系统
D.实用操作系统25.现在有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2、T3,且T1<T2<T3。系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是
。A.T1+T2+T3B.(3×T1+2×T2+T3)/3C.(T1+T2+T3)/3D.(T1+2×T2+3×T3)/326.通道又称I/O处理机,它用于实现
之间的信息传输。A.主存与外设B.CPU与外设C.主存与外存D.CPU与外存27.从程序调用关系上简要讨论用户程序和操作系统之间的关系。28.一个主修动物行为学、辅修计算机科学的学生参加了一个课题,调查花果山的猴子是否能理解死锁。他找到一处峡谷,横跨峡谷拉了一根绳索(假设为南北方向),这样猴子就可以顺着绳索越过峡谷。只要它们朝着相同的方向,同一时刻可以有多只猴子通过。但是如果在相反的方向上同时有猴子通过则会发生死锁(这些猴子将被卡在绳索中间,假设这些猴子无法在绳索上从另一只猴子身上翻过去)。如果一只猴子想越过峡谷,它必须看当前是否有别的猴子在逆向通过。请使用PV操作来解决该问题。29.在单CPU的系统中,任何时刻都有一个进程处于运行状态。30.下述哪个选项不是管程的组成部分
。A.局限于管程的共享数据结构B.对管程内数据结构进行操作的一组过程C.管程外过程调用管程内数据结构的说明D.对局限于管程的数据结构设置初始值的语句31.在固定分区存储管理中,可以采用______的方式把作业装入所分配到的分区中去。32.某火车订票系统,可供多个用户同时共享一个订票数据库。规定允许多个用户同时查询该数据库,有查询者时,用户不能订票;有用户订票而需要更新数据库时,不可以有其他用户使用数据库。请用P、V操作写出查询者和订票者的同步执行程序。33.考虑这样一个文件系统,其中文件可被删除,并且在指向它的链接仍然存在的情况下可重新使用其磁盘空间。在同一个磁盘空间建立一个新文件,将会出现什么问题?请给出方法来避免该问题。
分析:这个题目比较灵活,并不死板地考查学生对文件系统的认识,而是从解决问题的角度,测试学生利用所学知识解决实际问题的能力。34.在UNIX文件系统中,文件的路径名和磁盘索引结点之间是一一对应的。35.删除文件时,存放文件的盘块常常返回到空闲盘块链,有些系统同时清除盘块中的内容,而另一些系统则不清除,请对这两种方式加以比较。36.“可抢占”和“不可抢占”的优先级调度算法相比______。A.前者开销小B.前者开销大C.两者开销大致相同D.两者开销不能相比37.简述操作系统如何为用户提供良好的运行环境。38.在消息缓冲通信中,消息队列属于______资源。A.临界B.共享C.永久D.可剥夺39.下面是一个并发进程的程序代码,正确的是
。
A.进程不会死锁,也不会“饥饿”B.进程不会死锁,但是会“饥饿”C.进程会死锁,但是不会“饥饿”D.进程会死锁,也会“饥饿”40.采用可重入程序是通过
方法来改善系统性能的。A.改变时间片长度B.改变用户数C.提高对换速度D.减少对换数量41.在存储器可变式分区管理中,对内存状态的记录和分配管理通常可采用表格法、位图法和______、42.下面6个系统中,必须是实时操作系统的有______个。
计算机辅助设计系统
航空订票系统
过程控制系统
机器翻译系统
办公自动化系统
计算机激光拍照系统A.1B.2C.3D.443.如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是
。A.中断控制方式B.程序I/O方式C.DMA控制方式D.无条件存取方式44.在下列进程调度算法中,最容易引起进程长期等待的是
。A.时间片轮转算法B.非抢占静态优先权算法C.抢占式静态优先权算法D.非抢占式动态优先权算法45.对于一个支持多道程序设计的计算机系统.假设提交的作业具有完全相同的属性,每一个作业的计算周期为T,其中前半部分时间用于I/O操作,另一半时间进行处理机操作。每个作业需要运行N段周期。分别计算出有1个,2个和4个作业同时提交并发执行时的平均周转时间、吞吐量和处理器利用率。分析你所得到的实验结果。46.假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。
(1)请说明在上述条件下如何进行磁盘块空闲状态的管理。
(2)设某单面磁盘旋转速度为每分钟6000转,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如下图所示),磁道号请求队列为50,90,30,120,对请求队列中的每一个磁道需读取1个随机分布的扇区,则读完这4个扇区总共需要多少时间?给出计算过程。
(3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、SSD等),是否有比CSCAN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。
47.中断时用户程序转换到操作系统程序的驱动源。48.在进程控制块中,主要包括4方面用于描述和控制进程运行的信息。其中,______主要是由处理器各种寄存器中的内容所组成的。A.进程标识符信息B.进程调度信息C.处理器状态信息D.进程控制信息49.对记录式文件,操作系统为用户存取文件信息的最小单位是______。A.字符B.数据项C.记录D.文件50.两个进程A和B,每一个进程都需要读取数据库中的记录1,2,3假如这两个进程都以1、2、3的次序读取记录,系统将不会发生死锁。但如果A以3、2、1的次序读取记录,B以1、2、3的次序读取记录,则死锁可能会发生。试计算两个进程读取记录的次序如果不确定,那么系统保证不发生死锁的概率是多少?第1卷参考答案一.历年考点试题黑钻版1.参考答案:B[解析]微内核结构不能提高系统的运行效率,其他都是微内核的优点。2.参考答案:进行系统级存取控制,用户级存取控制;文件级存取控制3.参考答案:(1)地址重定位:把作业地址空间中使用的逻辑地址变换成主存中物理地址的过程。
(2)静态重定位是在程序运行之前由装配程序完成的,动态重定位是在程序执行过程中由硬件地址变换机构实现的。
(3)静态重定位的主要优点是,无须增加硬件地址变换机构,因此可在一般计算机上实现。
(4)静态重定位的主要缺点有:
第一,要求给每个作业分配一个连续的存储空间,且在作业的整个执行期间不能再移动,因此也就不能实现重新分配主存,不利于主存空间的充分利用。
第二,用户必须事先确定所需的存储量,若所需的存储量超过可用存储空间,用户必须考虑覆盖结构。
第三,用户之间难以共享主存中的同一程序副本。
(5)动态重定位的主要优点有:
第一,用户作业不要求分配连续的存储空间。
第二,用户作业在执行过程中可以动态申请存储空间和在主存中移动。
第三,有利于程序段的共享。
(6)动态重定位的主要缺点有:
第一,需要附加的硬件支持。
第二,实现存储管理的软件算法比较复杂。4.参考答案:D5.参考答案:C磁盘块大小为1KB,1.2MB的软盘,一共有1.2K个盘块,1K<1.2K<2K,所以每个盘块在FAT表中需占用11位,为了方便存取,一般采用一个字节,或半个字节为单位,所以11位,需占用1.5B。6.参考答案:A[解析]本题目考查引起进程阻塞的原因。当进程启动输入输出设备时,就会自动进入阻塞状态等待,当I/O操作完成后,再由中断处理程序将该进程唤醒。因此应该选择A。7.参考答案:B[解析]信号量可以用来表示某资源的当前可用数量。当信号量K>0时,表示此资源还有K个资源可用,此时不会有等待该资源的进程。而当信号量K<0时,表示此资源有丨K丨个进程在等待该资源。此题中信号量K=1,因此该资源可用数M=1,等待该资源的进程数N=0。8.参考答案:semaphoreseats=50,mutex=1;
cobegin
procedureEnter
{
while(TRUE)
{
p(seats);
p(mutex);
填写登记表;
进入阅览室阅读;
v(mutex);
}
}
procedureLeave
{
while(TRUE)
{
p(mutex);
消掉登记;
离开阅览室;
v(mutex);
v(seats);
}
}Coend[解析]读者的动作有两个,一是填表进入阅览室,此时要考虑阅览室里是否有座位,设置资源信号量seats,表示有多少空座位,初值为50;二是读者阅读完毕,离开阅览室,由于是读者的主动行为,不需要考虑阅览室内是否有读者,但出阅览室后需要释放座位。读者在阅览室读书时,由于没有引起资源的变动,不算动作变化。进阅览室和出阅览室都要在登记表进行登记,而登记表每次仅允许一位读者进行登记或注销,因此,需设置一个互斥信号量mutex,初值设为1。9.参考答案:C常用的空闲空间的管理方法有:空闲表、位示图、空闲块链和成组链接。
·空闲表:将外存空间上一个连续未分配区域称为“空闲区”。操作系统为磁盘外存上所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表中包含序号、空闲区的第一块号、空闲块的块数等信息。它适用于连续文件结构。
·位示图:这种方法是在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。位示图的主要特点是位示图的大小由磁盘空间的大小(物理块总数)决定,其描述能力强,适合各种物理结构。
·空闲块链:每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表,链表的头指针放在文件存储器的特定位置上(如管理块中)。空闲块链法不需要磁盘分配表,节省空间。每次申请空闲物理块只需要根据链表的头指针取出第一个空闲物理块,根据第一个空闲物理块的指针可找到第二个空闲物理块,依此类推。
·成组链接:在UNIX系统中,将空闲块分成若干组,每100个空闲块为一组,每组的第一个空闲块登记了下一组空闲块的物理盘块号和空闲块总数,假如一个组的第一个空闲块号等于0,意味着该组是最后一组,即无下一组空闲块。10.参考答案:D[解析]
设备控制器是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作,使处理机从繁杂的设备控制事物中解脱出来。设备控制器是一个可编址设备,当它控制一个设备时,它有一个唯一的设备地址;设备控制器可连接多个设备时,则应具有多个设备地址,使每一个地址对应一个设备。设备控制器的复杂性因设备而异,相关甚大。可把设备控制器分成两大类:一类是用于控制字符设备的控制器;另一类是用于控制块设备的控制器。设备控制器也常称为接口卡,有些设备控制器可以处理2个、4个或8个同类设备。11.参考答案:C12.参考答案:A文件目录有四个作用:实现按名存取.提高对目录的检索速度,文件共享,允许文件重名,其中按名存取是文件目录最主要的作用.最基本的功能。13.参考答案:关键字(或记录号);存放地址(或存放位置)14.参考答案:解法一:酒吧老板依次出售3种物品中的两种,也就是轮流为3种爱好者服务,而且要在一种爱好者听完之后,老板才会继续出售,因此设置信号量boss控制老板是否开始下一次出售。设置整数turn来决定当前为哪种爱好者服务,为了方便,设置两个信号量组,分别表示3种爱好者和3种材料。算法如下:
Semaphorelistener[3]={0,0,0};
//表示为哪种爱好者服务
Semaphorematerial[3]={0,0,0};
//表示3种材料
Semaphoreboss=1;
//表示老板是否需要出售材料
intturn=0;
//服务的序号
Boss()
//老板进程
{
While(true)
{
P(boss);
//检查是否可以开始下一次出售
V(listener[turn]);
//为一种爱好者服务
V(material[(turn+1)%3]);
//提供所需的材料1
V(material[(turn+2)%3]);
//提供所需的材料2
turn=(turn+1)%3;
//准备为下一种爱好者服务
}
}
listener_i()
//第i种爱好者
{
While(true)
{
P(listener[i]);
//检查是否为自己服务
P(material[(i+1)%3]);
//取得材料1
P(material[(i+2)%3]);
//取得材料2
听音乐;
V(boss);
//通知老板开始下一次出售
}
}
解法二:第一种音乐爱好者需要的是“音乐磁带和电池”,而且在初始状态下并没有这些材料,因此可为这种需求设置一个初值为0的信号量buy1;同理可设置buy2和buy3,初值均为0,分别表示第二种和第三种爱好者的需要。同时,为了同步酒店老板和爱好者之间的买卖关系,设置信号量payment和goods,另外设置信号量over用来表示爱好者听音乐和通知酒吧老板的下一次出售。算法如下:
semaphorebuy1=buy2=buy3=0;
semaphorepayment=0;
semaphoregoods=0;
semaphoreover=0;
boss()
//老板进程
{
While(true)
{
拿出任意两种物品出售;
if(出售的是音乐磁带和电池)V(buy1);
//判断要为哪种爱好者服务
elseif(出售的是随身听和电池)V(buy2);
elseif(出售的是随身听和音乐磁带)V(buy3);
P(payment);
//等待付费
V(goods);
//给货
P(over);
//等待爱好者听完乐曲
}
listener1()
//第一种音乐爱好者
{
while(true)
{
P(buy1);
//等有音乐磁带和电池出售
V(payment);
//付费
P(goods);
//取货
欣赏乐曲;
V(over);
//通知老板乐曲结束
}
}
listener2()
//第二种音乐爱好者
{
while(true)
{
P(buy2);
//等有随身听和电池出售
V(payment);
P(goods);
欣赏乐曲;
V(over);
}
}
listener3()
//第三种音乐爱好者
{
while(true)
{
P(buy3);
//等有随身听和音乐磁带出售
V(payment);
P(goods);
欣赏乐曲;
V(over);
}
}15.参考答案:A分页式存储管理系统中的逻辑地址由页号和页内偏移量组成。通过进程的页表才可以查到逻辑地址的页号所对应的物理页号。因为所有页表的内容都是由操作系统控制的,操作系统就有可能限制任一进程,仅让进程访问已经分配给它的页帧。进程根本无法访问不属于它的页面,因为该页面不在此进程的页表内。
为了让进程访问不属于它的存储空间,可以在进程页表里增加额外的页表项,这些页表项就指向那些物理空间。16.参考答案:1,0,N-1,0,N,0因为是单处理机,最多只有1个进程在运行;最少有0个进程在运行,即所有进程都处于阻塞状态。就绪进程最多为N-1,即还有一个进程处于运行状态。等待进程最多为N个,即进程都在等待I/O完成;最少有0个进程在运行,发生在所有进程都阻塞的时候。17.参考答案:A18.参考答案:C[解析]一般来说,按进程在执行过程中的不同情况,进程的基本状态包括以下几种。①就绪状态(Ready):进程已分配到除处理器以外的所有必要资源,具备了执行的条件,可能会有多个进程处于就绪状态,排成就绪队列。②执行状态(Running):进程占用处理器正在执行其程序。单处理器系统中只能有一个进程处于执行状态,多处理器系统中可能有多个进程处于执行状态。③阻塞状态(Blocked):也叫等待或睡眠状态,是进程由于等待某种事件的发生而处于暂停执行的状态,如进程因等待I/O的完成、等待缓冲空间等而处于暂停执行的状态。19.参考答案:专有通道输入/输出、内存映射输入/输出、复合输入/输出注意这里的通道不是通道处理器,而是一条真正的链接。该链接独立于内存,专门用于输入/输出。内存映射输入/输出将输入/输出统一到内存访问模式上,手段是将输入/输出设备编址到内存地址。复合模式就是同时采取专有通道和内存映射两种模式:输入/输出指令通过专有通道收发,数据通过内存访问来实现读写(或输入/输出)。20.参考答案:A21.参考答案:A进程不能由阻塞态直接变为运行态,C、D两选项错误。
I/O操作结束后,能够唤醒进程,说明该I/O设备是临界资源。该设备在I/O结束之后被释放,可能被其他等待使用的进程中的一个占用,使该进程从阻塞变为就绪。因此答案选择A选项。22.参考答案:为了清楚地描述作业执行情况,我们对题目假设的情况分析如下:
(1)J1占用IO2传输30ms时,J1传输完成,抢占J2的CPU,运行10ms,再传输30ms,运行10ms,完成。J1从开始到完成所用的时间为:30+10+30+10=80(ms)。
J2与其并行地在IO1上传输20ms,抢占J3的CPU,J2运行10ms后,被J1抢占CPU,等待10ms之后,J2再次得到CPU,运行10ms,J2启动:IO2传输,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%。23.参考答案:B文件的物理结构中,主要使用的是顺序结构、链接结构和索引结构(Hash结构实际上与索引结构类似)。在索引结构的文件中,必须要用专门的存储空间来存放索引指针,表示文件的内容存放的地址。所以,当访问该文件时,必须首先去读取该文件的索引表,才能知道相应的逻辑文件块在外存上的存放地址。逻辑文件块与物理文件块是一一对应关系,不能在一个记录中存放多个地址,而索引表中只存放地址指针,不存放文件内容。由于有额外的索引表,所以它并不节省存储空间。24.参考答案:①A②C③D④C⑤B。本题考查各个操作系统的区别。有交互性的一般是分时操作系统,成批处理无交互性是批处理操作系统,用于实时控制或实时信息服务的是实时操作系统。对于分布式操作系统与网络操作系统,如果计算机之间无主次之分就是分布式操作系统,因为网络一般有客户一服务器之分。25.参考答案:B系统采用短作业优先调度算法,则作业的执行顺序为:J1、J2、J3,则J1的周转时间为T1,J2的周转时间为:T1+T2,J3的周转时间为:T1+T2+T3,则平均周转时间为:(T1+T1+T2+T1+T2+T3)/3=(3×T1+2×T2+T3)/3。26.参考答案:A通道的目的是绕过CPU,让主存与输入/输出设备进行直接信息传输。27.参考答案:从一个方面看,操作系统是主程序,它调用用户程序来实现用户所需要的功能;从另一个方面看,用户程序是主程序,它调用操作系统服务来完成它所从事的使命。28.参考答案:由于不允许两个方向的猴子同时跨越绳索,所以对绳索应该互斥使用。但同一个方向可以允许多只猴子通过,所以临界区可以允许多个同类进程访问。本题的难点在于位于南北方向的猴子具有相同的行为,当一方有猴子在绳索上时,同方向的猴子可以继续通过,但此时要防止另一方的猴子跨越绳索。类比经典的读者/写者问题,可以发现类似之处,但又不完全相同,因为没有类似的写者,只有两种不能共存的读者。进一步分析可将此题归结为两种读者问的同步与互斥问题。实现如下:
Semaphoremutex=1;
SemaphoreSmutex=Nmutex=1;
intScount=Ncount=0;
/*Smutex是控制Scount的信号量,Nmutex是控制Ncount的信号量,mutex是控制绳索的信号量,3个信号量的作用均为保证互斥访问对应对象*/
South()
//北边猴子进程
{
While(true)
{
P(Smutex);
//准备对Scount进行操作
If(Scount==0)P(mutex);
//如果还没这个方向的猴子,则尝试占领绳子
Scount++;
//占领绳子后,本方向的猴子数量加1
V(Smutex);
//释放计数器
通过峡谷;
P(Smutex);
//占领计数器
Scount--;
//本方向的猴子数量减1
If(Scount==0)V(mutex);
//如果本方向的猴子都通过了,则释放绳子
V(Smutex);
//释放计数器
}
}
North()
//南边猴子进程
{
While(true)
{
P(Nmutex);
If(Ncount==0)P(mutex);
Ncount++;
V(Nmutex);
通过峡谷;
P(Nmutex);
Ncount--;
If(Ncount==0)V(mutex);
V(Nmutex);
}
}29.参考答案:B也可能所有进程都处于阻塞状态。30.参考答案:C管程由局限于管程的共享变量说明、对管程内的数据结构进行操作的一组过程以及对局限于管程的数据设置初始值的语句组成。31.参考答案:静态重定位32.参考答案:本题是一个典型的读者-写者问题,查询者是读者,订票者是写者。读者-写者问题的主要要求是:①允许多个读者共享对象。②不允许写者和其他读者或写者同时访问共享对象。为了达到上述控制,引入一个变量readcount,用于记录当前正在运行的读者进程数,以及读互斥信号量rmutex和写互斥信号量wmutex。每个读者进程进入系统后需对readcount加1。当readcount的值由0变为1时,说明是第一个读者进程进入,因此需要该读者进程对控制写者进程的信号量wmutex进行P操作,以便与写者进程互斥运行;当readcount的值由非0值增加时,说明不是第一个读者进程,此时控制写者进程的信号量已经过P操作,已经禁止写者进程进入,因此不需要再次对该信号量进行P操作。当读者进程退出时,需对readcount减1。如发现减1后readcount的值变为0,说明是最后一个读者进程退出,因此需要该读者进程对控制写者进程的信号量wmutex进行V操作,以便写者进程能够进入。同步程序描述如下:
Semaphorermutex=1,wmutex=1;
Intreadcount=0;
Inquirer()
{
//查询者进程
While(true)
{
P(rmutex);
If(readcount==0)
P(wmutex);
//如果有查询者,不允许订票
readcount=readcount+1;
V(rmutex);
查询数据库;
P(rmutex);
readcount=readcount-1;
If(readcount==0)
V(wmutex);
//最后一个查询者走后允许订票
V(rmutex);
}
}
Booker()
//订票者进程
{
While(true)
{
P(wmutex);
使用数据库,订票;
V(wmutex);
}
}
下面改进要求,规定允许多个用户同时查询数据库,当有订票者到达时,不允许后续查询者查询数据库,且多个订票者可以互斥使用数据库。(即写者优先算法)描述如下:
Semaphorermutex=wmutex=r=w=1;
//加入r、w两个信号量实现订票者优先
IntReadcount=0;
IntWritecount=0;
Inquirer()
{
While(true)
{
P(r);
//需先检查有无订票者进程存在
p(rmutex);
If(readcount==0)P(w);
Readcount=readcount+1;
V(rmutex);
V(r);
查询数据库;
P(rmutex);
Readcount=readcount-1;
If(readcount==0)v(w);//无查询者进程存在
V(rmutex);
}
}
Booker()
{
While(true)
{
P(wmutex);
If(writecount==0)
P(r);
//第一个订票者进程进入,不允许后续查询者进程进入
Writecount=writecount+1;
V(wmutex);
P(w);
使用数据库,订票;
V(w);
P(wmutex);
Writecount=writecount-1;
If(writecount==0)
v(r);
//无订票者时允许查询者进入
V(wmutex);
}
}
这里r信号量用来控制读者进程的进入,如果有写者存在,则占用该信号量,阻止后续读者进入临界区;而w信号量则表示对临界区进行写操作的权力,当读者在临界区时,占用w信号量以阻止写者进行写操作,这里w的作用类似于刚才未添加新条件的解法中的wmutex信号量。本解法中,rmutex和wmutex信号量变为对读者、写者计数器进行互斥操作控制的信号量。33.参考答案:如果同一磁盘空间内新建一个文件,而连接仍然存在,这将导致通过原有旧连接访问到的实际上是新文件,导致管理错误。
要想避免这个问题,可以对文件进行存取保护,也可采用删除指向一个已删除文件的所有链接的方法避免这一问题。34.参考答案:B35.参考答案:从性能上考虑,因后一种方式在删除文件时减少了访问磁盘的次数,故其速度比前一种方式更快。
从安全性上考虑,把一个内容没有清除的盘块分配给下一个用户使用,则有可能使其获得盘块中的内容,故前一种方式更加安全。
从方便性上考虑,如果盘块中的内容没有被清除,则当用户因误操作而删除文件时,有可能通过某种办法恢复被删除的文件,故后一种方式更为方便。36.参考答案:B[解析]
因为“可抢占”优先级调度始终保证在处理机上运行的是优先级最高的进程,这样,当处理机正在运行某个进程时,很可能会被其他优先级更高的进程“抢占”引起处理机调度,和“不可抢占”算法相比,前者的调度次数会更频繁,而每调度一次都会引起保护现场、恢复现场的工作,所以“可抢占”的优先级调度算法开销更大。37.参考答案:操作系统是一种系统程序,其目的是提供一个供其他程序执行的良好环境。
首先,操作系统要使得计算机系统使用方便:操作系统为用户提供方便的使用接口,用户按需要输入命令或从提供的“菜单”中选择命令,操作系统按命令去控制程序的执行;用户也可以请求操作系统的功能模块为其服务,而不必了解硬件的特性。
其次,操作系统要使得计算机系统能高效地工作:操作系统扩充硬件的功能,使硬件的功能发挥得更好;操作系统使用户合理共享资源,防止各用户间的相互干扰;操作系统以文件形式管理软件资源,保证信息的安全和快速存取。38.参考答案:A39.参考答案:B仔细考察程序代码,可以看出是一个扩展的单行线问题。也就是说,某单行线只允许单方向的车辆通过,在单行线的入口设置信号量y,在告示牌上的车辆数量必须互斥进行,为此设置信号量x1和x2。若某方向的车辆需要通过时,首先要将该方向来车数量c1或c2增加1,并查看自己是否是第一个进入单行线的车辆,若是,则获取单行线的信号量y,并进入单行线。通过此路段以后驶出单行线时,将该方向的车辆数c1或c2减1(当然是利用x1或x2来互斥修改),并查看自己是否是最后一辆车,若是,则释放单行线的互斥量y,否则保留信号量y,让后继车辆继续通过。双方的操作如出一辙。考虑出现一个极端情况,即当某方向的车辆首先占据单行线且后来者络绎不绝时,另一个方向的车辆就再没有机会通过该单行线了。从而造成“饥饿”。由于有信号量的控制,死锁的可能性没有了(即双方同时进入单行线,在中间相遇,造成双方均无法通过的情景)。40.参考答案:D可重入程序主要是通过共享来使用同一块存储空间的,或者通过动态链接的方式将所需的程序段映射到相关进程中去,其最大的优点是减少了对程序段的调入/调出,因此减少了兑换数量。41.参考答案:链表法42.参考答案:C订票时,必须及时刷新系统中剩余票数,对时间有要求;过程控制对时间有严格要求;办公自动化对响应时间有要求。43.参考答案:C整个I/O控制方式的发展就是将CPU从中解脱出来,DMA方式与通道方式中进行的数据交换都不经过CPU来完成。44.参考答案:C静态优先权就是在创建进程时确定的,在整个运行期间都保持不变,象短作业优先调度就属于静态优先权算法。在短作业优先调度算法中会导致长作业长期等待。采用抢占式调度方式时,当一进程正在处理机上执行时,系统可根据某种原则暂停它的执行,并将已分配给它的处理机重新分配给另一个进程。也就是只要不断有优先权高的进程进入,优先权低的进程就会长期等待。时间片轮转算法在若干时间片内所有的进程都可以得到运行,所以不会造成长期等待;非抢占静态优先权算法,虽然有优先权高的进程进入,一旦该进程开始执行就不会被剥夺,直至执行完成;非抢占式动态优先权算法如高响应比优先算法随着时间增长,优先权低的进程的优先权会不断提高,也不需要等很长时间。45.参考答案:设需要运行N段周期.N=3。
(1)当有一个作业时,作业运行状态如下:
由此得到一个作业的周转时间为3T;系统在3T时间内完成了一个作业,即吞吐量为1;处理器的利用率为3T/6T=50%。
(2)当有两个作业并发执行时,作业运行状态如下:(其中细线表示作业1,粗线表示作业2)
由图可知,作业1的周转时间为3T,作业2的周转时间为3T+T/2,所以平均周转时间为3T+T/4=13T/4;作业在接近3T的时间完成了2个作业,所以吞吐量约等于2;处理器的利用率为3T/(3T+T/2)=3/(3+1/2)=6/7。
(3)当有四个作业并发执行时,作业运行状态如下:(其中细
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论