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