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