《操作系统》A卷参考答案.docx
《《操作系统》A卷参考答案.docx》由会员分享,可在线阅读,更多相关《《操作系统》A卷参考答案.docx(33页珍藏版)》请在冰豆网上搜索。
《操作系统》A卷参考答案
一、判断题(每题2分共20分)
1.×2.√3.√4.√5.×
二、选择题(每题2分共20分)
题号
1
2
3
4
5
6
7
8
9
10
答案
C
C
C
B
B
A
A
D
C
D
三、简答题(每小题10分,共20分)
1.试述产生死锁的必要条件。
(10分)
(1)互斥条件,涉及的资源是非共享的,即为临界资源。
(3分)
(2)不剥夺条件,进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走。
(3分)
(3)部分分配,进程每次申请它所需要的一部分资源。
在等待一新资源的同时,进程继续占用已分配到的资源。
(2分)
(4)环路条件,存在一种进程的循环链,链中的每一个进程已获得的资源同时被链中下一个进程所请求。
(2分)
2.静态地址映射与动态地址映射的区别?
(10分)
静态地址映射
(1)在作业装入过程中进行地址映射,(2分)
(2)需软件重定位装入程序,(1分)(3)需花费较多CPU时间,(1分)(4)不灵活。
(1分)
动态地址映射
(1)在程序执行期间进行地址映射,(2分)
(2)需硬件地址变换机构重定位寄存器,(1分)(3)地址变换快,(1分)(4)灵活。
(1分)
四、名词解释(每小题5分,共20分)
1).操作系统:
操作系统是计算机系统中的一个系统软件,是一些程序模块的集合——它们能以尽量有效合理方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活,方便,有效的使用计算机,使整个计算机系统能高效的运行。
(5分)
2).信号灯
信号灯是一个确定的二元组(s,q),s是一个具有非负初值的整型变量,q是一个初始状态为空的队列。
操作系统利用信号灯的状态对并发进程和共享资源进行控制和管理。
(5分)
3).拼接技术
所谓拼接技术是指移动存储器中某些已分配区中的信息,使本来分散的空闲区连成一个大的空闲区。
(5分)
4).中断
所谓中断是指某个事件(例如电源掉电、定点加法溢出或I/O传输结束等)发生时,系统中止现行程序的运行、引出处理事件程序对该事件进行处理,处理完毕后返回断点,继续执行。
(5分)
五、综合题(每小题15分,共30分)
1.假设某系统有同类资源10个,供P、Q、R三进程共享。
P、Q、R所需资源总数分别为8、4、9,它们申请资源次序和数量如下:
次序
进程
申请量
1
R
2
2
P
4
3
Q
2
4
P
2
5
R
1
6
Q
2
7
R
5
8
P
4
……
……
……
问:
若1、2、3、4的申请均成功,则执行完次序号为4的申请时,请填写下表,并判断此时系统是否安全。
答:
(每空3分)
进程
已占资源数
最大需求数
P
6
8
Q
2
4
R
2
9
剩余资源数
0
不安全,理由是此时剩余资源数为0,且找不到一个安全系列。
(3分)
2、单道环境下四个作业,它们进入系统的时间如下:
作业
进入时间
估计运行时间
Job1
8:
00
120
Job2
8:
50
50
Job3
9:
00
10
Job4
9:
50
20
(1)给出短作业优先下的作业执行次序(5分)
依次为:
Job1、Job3、Job4、Job2。
(5分)
(2)给出短作业优先下的作业平均周转时间和带权平均周转时间(10分)
作业平均周转时间T=(120+150+70+40)/4=95(5分)
带权平均周转时间(5分)
习题1参考答案
一、单项选择题
1.B2.C3.D4.B5.A
6.C7.D8.A9.B10.A
11.B12.B13.C14.B15.A
二、填空题
1.预约机器时间将程序手工装入内存指定开始地址启动程序运行从控制台上监控程序执行
2.进程管理存储管理设备管理文件管理作业管理
3.资源利用率高系统吞吐量大周转时间长无交互作用
4.利用率更大的内存
5.并行串行
6.人机矛盾CPU与I/O设备速度不匹配的矛盾
7.为了提高CPU的利用
8.提高系统资源利用率方便用户计算机硬件的不断更新换代
9.及时性和高可靠性
10.用户所能接受的等待控制对象所能接受的时延
11.CPU外设
12.共享
13.中断通道
14.响应时间
15.内核核外
三、简答题
1.答:
操作系统的主要目标是:
(1)为计算机用户提供一个良好的环境,使其能以方便、有效的方式在计算机硬件上
执行程序。
(2)根据解决某给定问题的需要,来分配计算机的各种资源。
而且这种分配应尽可能
公平、有效。
(3)作为控制程序,它有如下两种主要功能:
监控用户程序的执行,以避免各种错误和对计算机系统的不合理使用:
对I/O设备的操作和控制的管理。
(4)合理地组织计算机系统的工作流程,以改善系统的性能。
2.答:
操作系统的功能是管理和控制计算机系统中的所有硬、软件资源,合理地组织
计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
操作系统的基本功能包
括:
处理机管理、存储管理、设备管理、文件管理和用户接口等。
3.答:
现代操作系统具有以下基本特征:
(1)并发性。
并发指的是在操作系统中存在着许多同时的或并行的活动。
(2)共享性。
系统中存在的各种并发活动要求共享系统中的硬件、软件资源。
(3)虚拟性。
虚拟是指将一个物理实体映射为若干个逻辑实体,例如虚拟处理机,虚拟存储器等。
(4)不确定性。
在多道程序设计环境下,各程序按异步方式运行,每道程序在何时执行、各自执行的顺序以及每道程序所需的时间、程序执行的结果都是不确定的。
4.答:
多道程序设计的硬件基础是中断系统和通道技术。
它们为多道程序设计的实现提供了有力的支持。
在多道程序设计的环境下,当CPU要求在内存和外设间传输数据时,通过发I/O指令命令通道工作,完成相应的数据传输,使得CPU从繁琐的I/O操作中解放出来,当I/O操作完成后,通道以中断方式请求CPU的处理,从而实现了CPU的计算与I/O操作的并行。
5.答:
为了实现多道程序设计技术,必须解决以下三个问题:
(1)存储保护和地址重定位。
(2)处理机的管理和调度。
(3)资源的管理和调度。
6.答:
在OS中引入多道程序设计技术,可带来如下好处:
(1)提高CPU的利用率。
当内存中仅存放一道程序时,每逢该程序运行过程中发出I/O请求时,CPU空闲,必须在其I/O完成后才继续运行。
尤其是I/O设备的低速性,更使CPU的利用率显著降低。
在引入多道程序设计技术后,由于可同时把若干道程序装入内存,并可使它们交替地执行,这样当正在运行的程序因I/O而暂停执行时,系统可调度另一道程序运行,从而可保持CPU处于忙碌状态。
(2)可提高内存和I/O设备利用率。
为了能运行较大作业,通常内存都具有较大容量。
但由于80%以上的作业都属于中小型,因此在单道程序环境下也必定造成内存的浪费。
类似地,系统中所配置的多种类型的I/O设备,在单道程序环境下,也不能充分利用。
如果允许在内存中装入多道程序,并允许它们并发执行,则无疑会大大提高内存利用率和I/O设备的利用率。
(3)增加系统吞吐量。
在保持CPU、I/O设备不断忙碌的同时,也必然会大幅度地提高系统的吞吐量,从而降低作业加工所需费用。
7.答:
如果说批处理系统形成和发展的主要推动力是“不断提高系统资源利用率”和“提高系统吞吐量”,那么,分时系统形成和发展的主要动力则是“为了更好地满足用户需要”。
主要表现在:
(1)缩短了作业的周转时间。
在批处理系统中,用户把作业提交给系统后,往往要经过几个小时甚至几天的延迟,才能得到所需的结果。
这样长的周转时间,对那些只需运行几分钟的小型作业的用户来说显然是不愿接受的。
用户总是希望作业周转时间尽可能地短。
(2)提供人机交互能力。
在批处理系统中,用户一旦把作业提交给系统,自己便失去
了对作业控制的能力,必须先写好作业说明书,然后连同作业一起交给系统,由系统根据说明书中的控制信息说明,对作业进行控制。
为此,系统要求用户能事先充分估计到作业在运行过程中可能出现的各种情况。
实际上这是难以做到的。
因此,用户强烈地需要系统能够做到边运行作业,边告知运行中出现的问题。
用户便可随时针对所出现的问题,采取适当的解决办法,亦即用户希望系统提供人机交互能力。
这一点对于用户调试一个新程序,或修改老程序来说,尤为重要。
(3)多个用户共享一台计算机。
在60年代,计算机的价格还十分昂贵,不可能为每一个上机用户配置一台计算机,只能让多个用户通过各自的终端,同时使用一台计算机来处理各自的作业,而不相互干扰。
8.答:
设计实时系统时要考虑以下问题:
(1)实时时钟管理。
(2)连续人—机对话。
(3)过载的保护。
(4)高可靠性的保证。
9.答:
分布式计算机系统具有以下主要特点:
(1)分布式系统中任意两台计算机之间可以利用通信交换信息。
(2)分布式系统各计算机具有相对的自主性或自治性。
(3)分布式系统具有透明性。
各计算机上的资源可以共享,而且用户不必考虑资源所在的位置。
(4)分布式系统具有整体性或协同性。
各计算机可以共同完成一个任务,每台计算机只完成整个任务的一部分。
·
(5)分布式系统具有坚定性。
任何一台计算机出现故障不会使系统瘫痪,可以“降级”使用。
10.答:
网络操作系统作为一个操作系统,应具有传统(单机)操作系统的功能——进程管理、存储管理、文件管理、设备管理和作用管理等。
除此之外,网络操作系统还应具有以下功能:
(1)实现网络中各节点机之间的通信
(2)实现网络中的资源共享。
(3)提供多种网络服务。
(4)提供网络用户的应用程序接口。
网络操作系统具有以下特点:
(1)复杂性。
(2)并行性。
(3)节点之间的通信与同步。
(4)安全性。
11.答:
多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置了多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
12.答:
在操作系统中实现虚拟功能所采用的关键技术是“分时技术”。
例如,将一台物理处理机虚拟为多台逻辑上的处理机,是靠多道程序分时地使用同一台物理处理机来实现的。
微观上,该处理机在每一时刻只运行一道程序,它们分时地运行;然而宏观上,系统中确有几道程序在同时运行,从而给用户形成的感觉是,系统中同时有多台处理机在为其中的每一道程序服务。
显然,用户所感觉到的处理机并不实际存在,故称为虚拟处理机。
四、思考题
1.答:
实现分时系统的关键,是使用户能与自己的作业交互,即用户在自己的终端上键入一命令,以请求系统服务后,系统能及时地接收并处理该命令,并在用户能够接受的时延内将结果返回给用户。
及时地接收命令和返回输出结果是比较容易做到的,一般只要在系统中配置一多路卡,并为每个终端配置一个缓冲区,用来暂存用户键入的命令和输出的结果便可以了。
因此,要着重解决的问题是,确保在较短的时间内,系统中所有的用户程序都能执行一次,从而使用户键入的命令能够得到及时处理。
为此,系统不应让一个作业长期占用CPU,直至它运行结束,而应设置一个较短的时间片,并规定每个程序只能运行一个时间片,然后不管它是否运行完毕,都必须将CPU让给下一个作业,从而使所有的作业都得到及时的处理,使用户的请求得到及时的响应。
2.答:
讨论操作系统可以从以下角度出发:
操作系统是计算机资源的管理者:
操作系统为用户提供使用计算机的界面;用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。
上述这些观点彼此并不矛盾,只不过代表了对同一事物(操作系统)站在不同的角度来看待。
每一种观点都有助于理解、分析和设计操作系统。
3.计算机操作系统的重要功能之一是对硬件资源的管理。
因此设计计算机操作系统时应考虑下述计算机硬件资源:
(1)CPU与指令的长度及执行方式:
(2)内存、缓存和高速缓存等存储装置;
(3)各类寄存器,包括各种通用寄存器、控制寄存器和状态寄存器等
(4)中断机构:
(5)外部设备与I/O控制装置:
(6)内部总线与外部总线;
(7)对硬件进行操作的指令集。
4.答:
我们可以从以下几个方面对这两种操作系统进行比较:
(1)实时信息处理系统与分时操作系统一样都能为多个用户服务。
系统按分时原则为多个终端用户服务:
而对实时控制系统,则表现为经常对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。
(2)实时信息处理系统与分时操作系统一样,每个用户各占一个终端,彼此独立操作,互不干扰。
因此用户感觉就像他一人独占计算机;而在实时控制系统中信息的采集,和对对象的控制也都是彼此互不干扰的。
(3)实时信息系统对响应时间的要求与分时操作系统类似,都是以人所能接受的等待时间来确定的:
而实时控制系统的响应时间,则是以控制对象所能接受的延时来确定的。
(4)分时操作系统是一种通用系统,主要用于运行终端用户程序,因此它具有较强的交互能力;而实时操作系统虽然也有交互能力,但其交互能力不及前者。
(5)分时操作系统要求系统可靠,相比之下,实时操作系统则要求系统高度可靠。
5.答:
操作系统的特征有并发、资源共享、虚拟和不确定性。
它们的关系如下:
(1)并发和共享是操作系统最基本的特征。
为了提高计算机资源的利用率,操作系统必然要采用多道程序设计技术,使多个程序共享系统的资源,并发地执行。
(2)并发和共享互为存在的条件。
一方面,资源的共享以程序(进程)的并发执行为条件,若系统不允许程序并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理,协调好多个进程对共享资源的访问,也必将影响到程序的并发执行,甚至根本无法并发执行。
(3)虚拟以并发和资源共享为前提。
为了使并发进程能更方便、更有效地共享资源,操作系统常采用多种虚拟技术,以便在逻辑上增加CPU和设备的数量以及存储器的容量,从而解决众多并发进程对有限的系统资源的争用问题。
(4)不确定性是并发和共享的必然结果。
操作系统允许多个并发进程共享资源,相互合作,使得每个进程的运行过程受到其他进程的制约,不再“一气呵成”,这必然导致不确定性特征的产生。
~~~~THEEND~~~~
习题2参考答案
一、单项选择题
1.B2.C3.B4.D5.D
6.C7.C8.D9.A10.C
11.D12.A13.C14.B15.B
16.B17.D18.B
二、填空题
1.作业步
2.脱机提交联机提交
3.脱机控制联机控制
4.系统调用命令界面
5.高级调度按照某种原则从后备作业队列中选取作业
6.平均吞吐量所能忍受的响应时间系统资源的利用率4/J、时4
7.2.5小时5
8.终端型作业
9.命令接口程序接口
10.内部命令外部命令
11.操作系统
12.后备运行完成
三、简答题
1.答:
把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。
作业由不同的顺序相连的作业步组成。
作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。
例如,编辑输入是一个作业步,它产生源程序文件,编译也是一个作业步,它产生目标代码文件。
2.答:
作业由三部分组成:
程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。
3.答:
作业控制的主要方式有两种:
脱机方式和联机方式。
脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就是作业说明书。
作业控制语言的语句就是作业控制命令。
不同的批处理系统提供不同的作业控制语言。
联机控制方式不同于脱机控制方式,它不要求用户填写作业说明书,系统只为用户提供一组键盘或其他操作方式的命令。
用户使用操作系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。
4.答:
因为在分时系统中,每个用户得到的时间片有限,用户的程序和数据信息直接输入到内存工作区中投入执行,和其他程序一起抢占系统资源,而不必进入外存输入井等待作业调度程序的选择。
因此,分时系统没有作业控制表,也没有作业调度程序。
5.答:
命令接口的优点是功能强,速度快,灵活性好,屏幕开销少;缺点是显示不直观,难学难记。
图形用户接口的优点是显示直观,操作简便,易学:
缺点是实现的代码规模大,对内外存容量、CPU速度和显示器的要求较高。
6.答:
脱机命令接口是操作系统提供给批处理作业用户的作业控制语言。
批处理用户不能直接与自己的运行作业进行交互,只能向系统提供用作业控制语言编写的作业说明书,并委托系统按作业说明书中的作业控制命令,来对他们的作业进行控制和管理。
联机命令接口则不要求用户填写作业说明书,此时,系统将向用户提供一组键盘命令或某他操作方式的命令,用户可通过这些命令来交互地控制自己程序的运行,并获得操作系统的服务。
7.答:
系统调用是操作系统提供给用户程序的唯一接口。
系统调用与一般的过程调用的区别主要有以下几点:
(1)运行在不同的系统状态。
一般的过程调用,其调用程序和被调用程序都运行在相同的状态一系统态或用户态:
而对系统调用,其调用程序是运行在用户态,而被调用程序则是运行在系统态。
(2)通过软中断进入。
一般的过程调用可通过过程调用语句,直接由调用过程转向被调用过程;而系统调用则必须通过执行系统调用指令(也称作访管指令),由软中断(或陷入机制)转向相应的系统调用处理程序,同时CPU的执行状态将从用户态转换为系统态。
(3)返回问题。
一般的过程调用在被调用过程执行完后,将直接返回到调用过程继续执行;而对系统调用,如果系统采用抢占调度方式,则在被调用过程执行完后,必须先对系统中所有要求运行的进程做优先权分析。
只有当调用进程仍具有最高优先权时,才返回到调用进程继续执行:
否则,将引起重新调度。
8.答:
作业说明书主要包含三方面内容:
作业基本描述、作业控制描述和资源要求描述。
作业基本描述主要包括用户名、作业名、使用的编程语言名、允许的最大处理时间等。
而作业控制描述则大致包括作业在执行过程中的控制方式(例如是脱机控制还是联机控制)、各作业步的操作顺序以及作业不能正常执行时的处理等。
资源要求描述包括要求内存大小、外设种类和台数、处理机优先级、所需处理时间、所需库函数或实用程序等。
而作业控制块是作业说明书在系统中生成的一张表格。
该表格登记该作业所要求的资源情况、预计执行时间和执行优先级等。
操作系统通过该表了解到作业要求,从而分配资源,并控制作业中程序和数据的编译、链接、装入和执行等。
9.答:
具体地说,系统调用是操作系统内核中提供的一些系统子程序。
用户可通过特殊的系统调用指令(也称作访管指令)来调用这些子程序,从而使用产在自己的程序中可获得OS提供的服务,如打开文件、创建子进程等。
习题3参考答案
一、单项选择题
1.B2.D3.C4.A5.C
6.B7.B8.D9.A10.B
11.B12.C13.B14.C15.B
16.B17.D18.B19.A20.C
二、填空题
1.用户程序用户数据系统栈进程控制块进程控制块
2.可用资源的数目因请求该资源而被阻塞的进程数目
3.一次仅允许一个进程访问的资源程序中访问临界资源的那段程序代码
4.进程同步
5.等待
6.PCB
7.PV
8.发送接收
9.同步互斥同步互斥
10.动态静态
11.40
12.S<0
13.就绪队列中
三、简答题
1.答:
原语是指由若干条机器指令构成的,并用以完成特定功能的一段程序。
这段程
序在执行期间是不可分割的。
其主要特点是不可分割性。
2.答:
线程可定义为进程内的一个执行单位,或者定义为进程内的一个可调度的实体。
在具有多线程机制的操作系统中,处理机调度的基本单位不是进程而是线程。
一个进程可以有多个线程,而且至少有一个可执行线程。
进程和线程的关系可从以下几个方面来说明:
(1)线程是进程的一个组成部分;
(2)进程的多线程都在进程的地址空间活动:
(3)资源是分给进程的,而不是分给线程的。
线程在执行中需要资源时,系统从进程的资源配额中扣除并分配给它;
(4)处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程;
(5)线程在执行过程中,需要同步。
3.答:
为了互斥地访问临界资源,系统必须保证进程互斥地进入临界区。
为此,必须在临界区前增加一段称作进入区的代码,以检查是否有其他进程已进入临界区使用临界资源。
若有,则进程必须等待:
否则,允许进程进入临界区,同时设置标志表示有进程正在临界区内。
同样,在临界区后必须增加一段称作退出区的代码,用于将已有进程进入临界区访问临界资源的标志,改为无进程进入临界区使用临界资源。
进入区、退出区具体可用多种同步机制实现,如锁、信号量机制等。
4.答:
临界资源本身的特性决定了它们只能被诸进程互斥地访问,如果并发执行的多个进程同时访问临界资源,将会造成系统的混乱或程序执行结果的不确定性。
这样,用户得到的便可能是不希望得到的或者是不正确的处理结果。
如果多个用户同时使用同一台打印机,则将使他们的输出结果交织在一起而难于区分。
四、思考题
1.答:
在生产者—消费者问题中,如果将两个P操作,即P(full)和P(mutex)互换位置,或者P(empty)和P(mutex)互换位置,都可能引起死锁。
考虑系统中缓冲区全满前时,若一生产者进程先执行了P(mutex)操作并获得成功,当再执行P(empty)操作时,它将因失败而进入阻塞状态,它期待消费者执行V(empty)来唤醒自己。
在此之前,它不可能执行V(mutex)操作,从而使企图通过P(mutex)进入自己的临界区的其他生产者和所有的消费者进程全部进入阻塞状态,从而引起系统死锁。
类似地,消费者进程若先执行P(mutex),后执行P(full),同样可能造成死锁。
V(full)和V(mutex)互换位置,或者V(empty)和V(mutcx)互换位置,则不会引起死锁,其影响只是使临界资源的释放略为推迟一些。
2.答:
有可能出现上述情况。
例如,若在进程P时间片用完后,被迫回到就绪队列时,就绪队列为空,这样进程P就是就绪队列中唯一的一个进程,于是调度程序选中的进程必是进程P;又如在按优先级调度的系统中,就绪队列按进程优先级排列,在进程P时间片用完之后回到就绪队列时,若其优先级高于当前就绪队列中的其他进程,则它将排在就绪队列之首,从而再次被调度程序选中并投入运行。
3.答:
(1)可能会发生死锁现象。
例如,进程P1,P2和P3分别获得资源S3,S1,和S2后再继续申请资源时都要等待,这是循环等待。
(2)可有以下几种答案:
1)采用静态分配,由于执行前已获得所需的全部资源,故不会出现占有资源又等待别的资源的现象(或不会出现循环等待资源现象)。
2)采用按序分配,不会出现循环等待资源现象。
3)采用银行家算法,在分配时,保证了系统处于安全状态。
习题4参考答案
一、单项