《操作系统练习题及答案.pdf》由会员分享,可在线阅读,更多相关《操作系统练习题及答案.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、填空P15 填空题1.设计现代 OS 的主要目的是提高资源利用率提高资源利用率和方便用户方便用户。2.单道批处理系统是在解决人机矛盾人机矛盾和 CPUCPU 与与 I/OI/O 设备速度不匹配设备速度不匹配的矛盾中发展起来的。3.在单处理机环境下的多道程序设计具有多道多道、宏观上同时运行宏观上同时运行和微观上交替运行微观上交替运行的特点。4.现在操作系统的两个最基本的特征是并发并发和资源共享资源共享,除此之外,它还具有虚拟性虚拟性和异步性异步性的特征。5.从资源管理的角度看,操作系统具有四大功能:处理机管理处理机管理、存储器管理存储器管理、设备管理设备管理和文件管理文件管理;为了方便用户,
2、操作系统还必须提供友好的用户接口友好的用户接口。6.操作系统的基本类型主要有批处理系统批处理系统、分时系统分时系统和实时系统实时系统。7.批处理系统的主要优点是资源利用率高资源利用率高和系统吞吐量大系统吞吐量大;主要缺点是无交互作用能力无交互作用能力和作业平均周转时间长作业平均周转时间长。8.实现分时系统的关键问题他是人机交互人机交互,为此必须引入时间片时间片的概念,并采用时间片轮转时间片轮转调度算法。9.分时系统的基本特征是多路性多路性、独立性独立性、交互性交互性和及时性及时性。10.若干事件在同一时间间隔内发生称为并发并发;若干事件在同一时刻发生称为并行并行。11.实时系统可分为实时信息处
3、理系统实时信息处理系统和实时控制系统实时控制系统两种类型;民航销售系统属于实时信息处理系统实时信息处理系统;而导弹飞行控制系统则属于实时控制系统实时控制系统。12.为了使实时系统高度可靠和安全,通常不强求资源利用率资源利用率。13.当前比较流行的微内核的操作系统结构,是建立在层次化结构的基础上的,而且还采用了客户机客户机/ /服务器服务器模式和面向对象程序面向对象程序设计设计技术。P56 填空题1.在单用户单任务环境下,用户独占全机,此时机内资源的状态,只能由运行程序的操作加以改变,此时的程序执行具有封闭性封闭性和可再现性可再现性特征。2.并发程序之间的相互制约, 是由于它们的共享资源共享资源
4、和相互合作相互合作而产生的, 因而导致程序在并发执行时具有间断性或异步性间断性或异步性特征。3.程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性间断性、失去封闭性失去封闭性和不可再现性不可再现性。4.引入进程的目的是使程序能正确地并发执行,以提高资源利用率和系统吞吐量使程序能正确地并发执行,以提高资源利用率和系统吞吐量,而引入线程的目的是减少并发执行的开销,提减少并发执行的开销,提高程序执行的并发程度高程序执行的并发程度。5.进程是由进程控制块进程控制块、程序段程序段和数据段数据段组成,其中进程控制块进程控制块是进程存在的唯一标志6.进程的最基本特征是动态性动态性和并发性并发性,除此
5、之外,它还有独立特征独立特征、异步性异步性和结构结构特征。7.由于进程的实现是程序的一次执行,所以进程有动态性动态性的基本特征,该特征还表现在进程由创建创建而产生,由调度调度而执行,由撤撤销(终止)销(终止)而消亡,即进程具有一定的生命期。8.引入进程带来的好处是提高资源利用率提高资源利用率和增加系统吞吐量增加系统吞吐量。9.当前正在执行的进程由于时间片用完而暂停执行时,该进程应转变为就绪就绪状态;若因发生某种事件而不能继续执行时,应转为阻塞阻塞状态;若终端用户的请求而暂停执行时,它应转变为静止就绪静止就绪状态。10.用户为阻止进程继续运行,应利用挂起挂起原语;若进程正在执行,应转变为静止就绪
6、静止就绪状态;以后,若用户要恢复其运行,应利用激活激活原语,此时进程应转变为活动就绪活动就绪状态。11.系统中共有 5 个用户进程,且当前 CPU 在用户态下执行,则最多可有 4 4 个用户进程处于就绪状态,最多可有 4 4 个用户处于阻塞状态。12.同步机制应遵循的准则有空闲让进空闲让进、忙则等待忙则等待、有限等待有限等待和让权等待让权等待。13.在记录型信号量机制中,S.value0 时的值表示可用的临界资源数量可用的临界资源数量;每次 wait 操作意味着申请一个临界资源申请一个临界资源,因此应将S.value 减减 1 1,当 S.value 小于小于 0 0 时,进程应阻塞。14.在
7、记录型信号量机制中,每次 signal 操作意味着释放一个临界资源释放一个临界资源,因此应将 S.value 加加 1 1,当 S.value0 时,表示仍有请仍有请求该资源的进程被阻塞求该资源的进程被阻塞,此时应唤醒相应阻塞队列中的首进程唤醒相应阻塞队列中的首进程。15.在利用信号量实现进程互斥时,应将临界区临界区置于 waitwait 操作操作和 signalsignal 操作操作之间。16.在每个进程中访问临界资源临界资源的那段代码称为临界区。为实现对它的共享,应保证进程互斥互斥进入自己的临界区,为此,在每个进程的临界区前应设置进入区进入区,临界区后应设置退出区退出区。17.进程通信的类
8、型有共享存储器共享存储器、消息系统消息系统、管道通信管道通信三类,其中管道通信管道通信利用共享文件进行通信。18.为实现消息缓冲队列通信,应在 PCB 中增加消息队列首指针消息队列首指针 mqmq、消息队列互斥信号量消息队列互斥信号量 mutexmutex、消息队列资源信号量消息队列资源信号量 SmSm 三个数据项。19.在采用用户级线程的系统中,OS 进行 CPU 调度的对象是进程进程;在采用内核支持线程的系统中,CPU 调度的对象是线程线程。20.线程之所以能减少并发执行的开销是因为线程基本不拥有资源线程基本不拥有资源。P76 填空题1.高级调度又称作作业调度作业调度, 其主要功能是按照一
9、定的算法从外存的后备队列中选若干作业进入内存按照一定的算法从外存的后备队列中选若干作业进入内存; 低级调度又称作进程调度进程调度,其主要功能是按一定算法从就绪队列中选一个进程投入执行按一定算法从就绪队列中选一个进程投入执行。2.进程调度有抢占调度抢占调度和非抢占调度非抢占调度两种方式。3.在抢占调度方式中,抢占的原则有时间片原则时间片原则、短作业有限短作业有限和优先权优先优先权优先。4.在设计进程调度程序时,应考虑引起调度的因素引起调度的因素、调度算法的选择调度算法的选择和就绪队列的组织就绪队列的组织三个问题。5.为了使作业的平均周转时间最短,应该选择短作业(进程)优先短作业(进程)优先调度算
10、法;为了使当前执行的进程总是优先权最高的进程,则应选择立即抢占的高优先权优先立即抢占的高优先权优先调度算法;而分时系统则常采用时间片轮转时间片轮转调度算法。6.高响应比优先调度算法综合考虑了作业的运行时间运行时间和等待时间等待时间。7.死锁产生的主要原因是竞争资源竞争资源和进程推进顺序非法进程推进顺序非法。8.死锁产生的必要条件是互斥条件互斥条件、请求与保持条件请求与保持条件、不剥夺条件不剥夺条件和环路等待条件环路等待条件。9.通过破坏死锁产生的四个必要条件可进行死锁的预防,其中互斥互斥条件一般是不允许破坏的,一次性分配所有资源破坏的是其中的请求与保持请求与保持条件,资源的有序分配破坏的是其中
11、的环路等待环路等待条件。10.在避免死锁的方法中,允许进程动态地申请资源,但系统在进行分配运算时应先计算资源分配的 安全性安全性。若此次分配不会导致系统进入不安全状态不安全状态,便将资源分配给它,否则进程等待等待。11.解决死锁的方法有预防、避免、检测并解除等,一次性分配所有的资源采用的是其中的 预防死锁预防死锁方法,银行家算法采用的是其中的避免死锁避免死锁方法。12. 撤销进程撤销进程和剥夺资源剥夺资源是解除死锁的两种常用的方法。二、简答题P11 例 16操作系统具有哪几大特征?它们之间有何关系?操作系统的特征有并发、资源共享、虚拟和异步性。它们的关系如下并发和共享式操作系统最基本的特征。并
12、发和共享式操作系统最基本的特征。为了提高计算机资源的利用率。OS 必然要采用多道程序设计技术,使多个程序共享系统的资源,并发地执行。并发和共享互为存在的条件。并发和共享互为存在的条件。一方面,资源的共享是以程序(进程)的并发执行为条件,若系统不允许程序并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效的管理,协调好各个进程对共享资源的访问,也必将影响到程序的并发执行,甚至根本无法并发执行。虚拟技术以并发和资源共享为前提。虚拟技术以并发和资源共享为前提。为了使并发进程能更方便、更有效地共享资源,操作系统常采用多种虚拟技术来逻辑上增加 CPU 和设备的数量以及存储器的容量,从
13、而解决众多并发进程对有限的系统资源的争用问题。异步性是并发和共享的必然结果。异步性是并发和共享的必然结果。操作系统允许多个并发进程共享资源、相互合作,使得每个进程的运行过程受到其他进程的制约,不再“一气呵成” ,这必然导致异步性特征的产生。P12 例 18微内核结构具有哪些优点?为什么?微内核系统的优点如下:提高了系统的可扩展性。提高了系统的可扩展性。在微内核结构中,OS 的大部分功能都是由相对独立的服务器来实现的,用户可以根据需要,选配其中的部分或全部服务器;还可以随着计算机硬件和 OS 技术的发展,相应地更新若干服务器或增加一些新的服务器。增强了操作系统的可靠性。增强了操作系统的可靠性。由
14、于所有的服务器都是运行在用户态,它们不能直接访问硬件,因此,当某个服务器出现错误时,通常只会影响到它自己,而不会引起内核和其他服务器的损坏和崩溃。可移植性更好。可移植性更好。在微内核的 OS 中,所有与特定 CPU 和 I/O 设备硬件相关的代码均放在内核和内核下面的硬件隐藏层中,而操作系统其他绝大部分(即各种服务器)均与硬件平台无关,因而,把操作系统移植到另一硬件平台上所需做的改动比较小。适用于分布式系统。适用于分布式系统。对用户进程(即客户)而言,如果他通过消息传递与服务器通信,那么他只需发送一个请求,然后等待服务器发来的响应,而根本无需知道这条消息在本地机就地处理还是通过网络送给远地机上
15、的服务器。P18 进程的状态1.进程的三种基本状态就绪状态。进程已获得除 CPU 以外的所有必要资源,只要得到 CPU,便可立即执行。执行状态。进程已得到 CPU,其程序正在 CPU 上执行。阻塞状态。正在执行的进程因某种时间(如 I/O 请求)的发生而暂时无法继续执行,只有相应事件完成后,才能去竞争CPU。P34 例 1在操作系统中为什么要引入进程的概念?它会产生什么样的影响?在操作系统中引入进程的概念, 是为了实现多个程序的并发执行。 传统的程序不能与其他程序并发执行, 只有在为其创建进程后,才能与其他程序(进程)并发执行。这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创
16、建进程后,在它停下时,方能将其现场信息保存在它的 PCB 中,待下次被调度执行时,再从 PCB 中恢复 CPU 现场并继续执行,而传统的程序却无法满足上述要求。建立进程所带来的好处是使多个进程能并发执行,这极大地提高了资源利用率和系统吞吐量。但管理进程也需付出一定的代价,包括进程控制块及协调各个运行机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信所付出的时间开销。P36 例 4PCB 的作用是什么?进程控制块的作用,是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,即一个能与其他进程并发执行的进程。P58 处理机调度的三个级别P59 调度算法P66 例 2试
17、说明低级调度的主要功能2.进程的挂起状态“挂起”的实质是使进程不能继续执行,即使挂起后的进程处于就绪状态,它也不能参与 CPU 的竞争。因此,称被挂起的进程处于静止状态;没被挂起的进程则处于活动状态。处于静止状态的进程,只有通过“激活”动作,才能转换成活动状态1.高级调度2.低级调度分两种方式:非抢占方式抢占方式抢占的原则有:优先权原则、短作业优先原则、时间片原则3.中级调度1.先来先服务算法(FCFS)2.短作业(进程)有限(SJF/SPF)3.高优先权有限(HPF)进程优先权的设置通常分成静态和动态两种:静态优先权动态优先权4.高响应比优先调度算法(HRRN)5.时间片轮转法(RR)6.多
18、级反馈队列调度算法(FB)低级调度用于决定就绪队列中的哪个进程应获得处理机,并由分派程序把处理机分配给该进程。其主要功能有:保存当前进程的处理机现场信息按某种算法选择投入执行的新进程恢复新进程的现场,从而将处理机分配给新进程P69 例 5为什么说多级反馈队列调度算法能较好地满足各方面用户的需要?对终端型作业用户而言,他们提交的作业大多属于交换型作业,作业通常较小,系统只要能使这些作业在第一个队列所规定的时间片内完成,便可使他们都感到满意。对于短批作业作业用户而言,开始时他们的作业像终端型作业一样,如果仅在第一个队列中执行一个时间片即可完成,便可获得与终端型作业一样的响应时间;对于稍长的作业,通
19、常也只需在第二队列和第三队列各执行一个时间片即可完成,其周转时间仍然很短。对于长批处理作业用户而言,他们的作业将依次在第 1,2,n 个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理,而且每往下降一个队列,其得到的时间片将随着增加,故可进一步缩短长作业的等待时间。P70 例 7对下面五个非周期性实时任务,按最早开始截止时间优先调度算法应如何进行 CPU 调度?进程ABCDEP70 例 8若有三个周期性任务,任务 A 要求每 20ms 执行一次,执行时间为 10ms;任务 B 要求每 50ms 执行一次,执行时间为 10ms;任务C 要求每 50ms 执行一次,执行时间为 1
20、5ms,应如何按最低松弛度优先算法对它们进行 CPU 调度?P72 例 12在银行家算法中,若出现下面的资源分配情况:ProcessP0P1P2P3P4试问:1.该状态是否安全?2.当进程 P2 提出请求 Request(1,2,2,2)后,系统能否将资源分配给它?3.如果系统立即满足 P2 的上述请求,则系统是否立即进入死锁状态?三、编程题P39 例 11试写出相应的程序来描述图所示的前趋关系。Allocation00321000135400320014Need00121650235606520656Available1622到达时间1020405060执行时间2020202020开始截止时
21、间11020509070S1S2S3S4S5S6gS7前趋图中存在着如下的前趋关系:S1S2、S1S3、S2S4、S2S5、S3S6、S4S7、S5S7、S6S7因此可分别为它们设置初始值为 0 的信号量 a、b、c、d、e、f、g、h,具体的程序可描述如下:var a,b,c,d,e,f,g,h:semaphore:=0,0,0,0,0,0,0,0;beginP42 例 13用信号量实现共享单位中的置换进程与打印进程计算进程不断地计算出结果并将它放入单缓冲区中,打印进程则负责从单缓冲区中取出每一个结果进行打印。从临界资源的角度考虑:endparbeginbeginbeginbeginbegi
22、nbeginbeginbeginS1;signal(a);signal(b);end;wait(a);S2;signal(c);signal(d);end;wait(b);S3;signal(e);end;wait(c);S4;signal(f);end;wait(d);S5;signal(g);end;wait(e):S6;signal(h);end;wait(f);wait(g);wait(h);S7;end;parendvar full,empty:semaphore:=0,1beginparbegincp:beginrepeatcompute next number;wait(empt
23、y);add the number to buffer;signal(full);until falseend9pp:beginrepeatendendwait(full);take a number from buffer;signal(empty);print the number;until falseparend从同步的角度考虑:var SA,SB:semaphore:=0,0;beginendparbegincp:beginendpp:beginendparendrepeatwait(SA);take a number from buffer;signal(SB);print the number;compute the first number;add the number to buffer;signal(SA);repeatcompute next number;wait(SB);add the number to buffer;signal(SA);until falseuntil false
限制150内