操作系统--试题及答案(共33页).doc

上传人:飞****2 文档编号:14440523 上传时间:2022-05-04 格式:DOC 页数:33 大小:187.50KB
返回 下载 相关 举报
操作系统--试题及答案(共33页).doc_第1页
第1页 / 共33页
操作系统--试题及答案(共33页).doc_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《操作系统--试题及答案(共33页).doc》由会员分享,可在线阅读,更多相关《操作系统--试题及答案(共33页).doc(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上名词解释1操作系统操作系统是管理和控制计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。2管态当执行操作系统程序时,处理机所处的状态3目态当执行普通用户程序时,处理机所处的状态。4多道程序设计在这种设计技术下,内存中能同时存放多道程序,在管理程序的控制下交替的执行。这些作业共享CPU和系统中的其他资源。5并发是指两个或多个活动在同一给定的时间间隔中进行。它是宏观上的概念。6并行是指两个或多个活动在同一时刻同时执行的情况。7吞吐量在一段给定的时间内,计算机所能完成的总工作量。8分时就是对时间的共享。在分时系统中,分

2、时主要是指若干并发程序对CPU时间的共享。9实时表示“及时”或“既时”。10系统调用是用户在程序中能以“函数调用”形式调用的、由操作系统提供的子功能的集合。每一个子功能称作一条系统调用命令。它是操作系统对外的接口,是用户级程序取得操作系统服务的唯一途径。11特权指令指指令系统中这样一些指令,如启动设备指令、设置时钟指令、中断屏蔽指令和清内存指令,这些指令只能由操作系统使用。12命令解释程序其主要功能是接收用户输入的命令,然后予以解释并且执行。13脱机I/O是指输入/输出工作不受主机直接控制,而由卫星机专门负责完成I/O,主机专门完成快速计算任务,从而二者可以并行操作。14联机I/O是指作业的输

3、入、调入内存及结果输出都在cpu直接控制下进行。15资源共享是指计算机系统中的资源被多个进程所功用。例如,多个进程同时占用内存,从而对内存共享;它们并发执行时对cpu进行共享;各个进程在执行过程中提出对文件的读写请求,从而对磁盘进行共享等等。简答题1什么是操作系统?它的主要功能是什么?答:操作系统是控制和管理计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。操作系统的主要功能有5个方面,即存储管理、处理机管理、设备管理、文件管理和用户接口。 2推动操作系统形成和发展的主要动力是什么?答:推动操作系统发展的因素很多,主要可归结为两大方面:硬

4、件技术更新和应用需求扩大伴随计算机器件的更新换代和计算机体系结构的发展,促使操作系统的性能和结构有了显著发展。 应用需求促进了计算机技术的发展,也促进了操作系统的不断更新升级。3操作系统的基本特征是什么?答:操作系统的基本特征是并发、共享和不确定。并发性是指两个或多个活动在同一给定的时间间隔中进行;共享是指计算机系统中的资源被多个进程所共用;不确定性是指系统中各种事件发生顺序的不可预测性。4多道程序和多重处理有何区别?答:多道程序是作业之间自动调度执行、共享系统资源,并不是真正的同时执行多个作业;而多重处理系统配置多个cpu,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术

5、,而多道程序设计原则上不一定要求多重处理系统的支持。5试说明多道程序设计和多任务系统之间的关系答:多道程序设计是利用外设与cpu能够并行处理的特性,在主存同时存放多个程序,使之在系统中交叉地使用cpu,从而提高系统资源的利用率。而多任务系统主要指多进程交叉使用cpu。多道程序隐含了多任务处理,但多任务系统中不一定有多道程序。因为一个程序也可以采用多任务处理机制。6不同类型的操作系统提供不同的功能。假定有如下的应用环境,请你为它们选择适合的操作系统。(1)飞机的导航,(2)办公自动化系统,(3)航空订票系统,(4)复杂的科学计算,(5)图书检索系统答:(1)飞机的导航系统,应采用硬实时操作系统

6、(2)办公自动化系统,应采用分时操作系统 (3)航空订票系统,应采用软实时操作系统 (4)复杂的科学计算,应采用批处理系统 (5)图书检索系统,应采用软实时操作系统 7什么是批处理系统,它有什么特征?答:批处理系统:操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。8什么是分时系统,它有什么特征?答:分时系统:把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。9什么是实时系统?它有什么特征?答:实时系统:在被控对象允许

7、时间范围内做出响应 。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。10什么是处理机的核心态和用户态?为什么要设置这两种不同的状态?答:当执行操作系统程序时,处理机处于核心态。它有较高的特权,可以执行所有的指令,包括一般用户程序中不能使用的特权指令,从而能对所有寄存器和内存进行访问,启动i/o操作等。 用户程序是在用户态下执行,它的权限较低,只能执行指令集中非特权指令。(2分)设置这两种不同状态的目的是为了保护操作系统程序(特别是其内核部分),防止受到用户程序的损害。 11系统调用与过程调用在功能及实现上有什么相同点和不同点?答:相同点:两者都由程序代码构成,

8、可直接用高级程序设计语言(如C,C+和Perl语言)来编制;使用方式相同以函数调用的形式出现,调用时传送参数。 不同点:代码层次不同,过程调用不属于操作系统的一部分,而系统调用是操作系统的一部分。运行状态不同。过程调用只能在用户态下运行,不能进入核心态,而系统调用是在核心态下运行的。进入方式不同。过程调用在用户程序中调用,并直接在用户空间内执行;而系统调用可以在用户程序中调用,但是在用户程序中执行到系统调用时,会产生异常事件。实现处理机状态从用户态到核心态的转变,从而进入操作系统核心空间去执行系统调用的代码。 12试说明特权指令和系统调用之间的区别与联系。答:特权指令是一类只能在核心态下执行的

9、机器指令。而系统调用不是机器指令,它往往以函数调用的形式出现,实现操作系统提供的子功能,它是操作系统与用户的编程接口 。在用户程序中可以使用系统调用来获得操作系统服务,在系统调用代码中可以使用特权指令1顺序性是指顺序程序所规定的每个动作都在上个动作结束后才开始的特性。2封闭性是指只有程序本身的动作才能改变程序的运行环境。3可再现性是指程序的执行结果与程序运行的速度无关。4进程程序在并发环境中的执行过程。5互斥在逻辑上本来完全独立的进程,由于竞争同一个资源而产生的相互制约的关系。6同步是指进程间共同完成一项任务时直接发生相互作用的关系。也就是说,这些具有伙伴关系的进程在执行次序上必须遵循确定的规

10、律。7临界资源一次仅允许一个进程使用的资源。8临界区在每个进程中访问临界资源的那段程序。9线程线程是进程中实施调度和分派的基本单位。10管程管程是一种高级同步机制,一个管程定义一个数据结构和能为并发进程在其上执行的一组操作,这组操作能使进程同步和改变管程中的数据。11进程控制块进程控制块是进程存在的唯一标识,它保存了系统管理和控制进程所必须的信息,是进程动态特性的集中表现。12原语指操作系统中实现一些具有特定功能的程序段,这些程序段的执行过程是不可分割的,即其执行过程不允许被中断。13就绪态进程已经获得了除cpu之外的全部资源,等待系统分配cpu,一旦获得cpu,进程就可以变为运行态。14运行

11、态正在cpu上执行的进程所处的状态。在单cpu系统中,任何时候最多只能有一个进程处于运行状态。15阻塞态又称等待态,指正在运行的进程因等待某个条件发生而不能运行时所处的状态。处于阻塞态的进程在逻辑上是不能运行的,即使cpu空闲,它也不能占用cpu。16进程通信是指进程间的信息交换。17同步机制同步机构是负责处理进程之间制约关系的机制,即操作系统中负责解决进程之间协调工作的同步关系(直接制约关系),以及共享临界资源的互斥关系(间接制约关系)的执行机构。简答题1在操作系统中为什么要引入进程概念?答: 由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相

12、互制约的新关系,程序的执行出现“走走停停”的新状态。用程序这个静态的概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入了“进程(Process)”这一概念来描述程序动态执行过程的性质。 进程和程序是两个完全不同的概念。然而,进程与程序之间存在密切关系,进程的功能是通过程序的运行得以实现的,进程活动的主体是程序。进程不能脱离开具体程序而独立存在。 2有人说,一个进程是由伪处理机执行的一个程序,这话对吗?为什么?答:对。 因为伪处理机的概念只有在执行时才存在,它表示多个进程在单处理机上并发执行的一个调度单位。因此,尽管进程是动态概念,是程序的执行过程,但是,在多个进程并行执行时,仍然只

13、有一个进程占据处理机执行,而其他并发进程则处于就绪或等待状态。这些并发进程就相当于由伪处理机执行的程序。 3试比较进程和程序的区别答:(1)进程是一个动态的概念,而程序是一个静态的概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。 (2)进程具有并行特征(独立性、异步性),程序则没有。 (3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。4进程的基本状态有哪些?试描绘进程状态转换图。答:进程至少有三种基本状态:运行状态、就绪状态和阻塞状态(或等待状态) 。进程状态转换如下图:运行态进程调度所需要的资源未被满足(如等待 I/O)时间片到所需资源得到满足(如I/O完

14、成)运行态运行态5并发进程间的制约有哪两种?引起制约的原因是什么?答:并发进程所受的制约有两种:直接制约和间接制约。 直接制约是由并发进程相互共享对方的私有资源所引起的;间接制约是由竞争共有资源而引起的。 6什么是进程间的互斥?什么是进程间同步?答:进程间的互斥是指:一组并发进程中的一个或多个程序段,因共享某一共有资源而导致它们必须以一个不许交叉执行的单位执行,即不允许两个以上的共享该资源的并发进程同时进入临界区。 进程间的同步是指:异步环境下的一组并发进程因直接制约相互发送消息而进行相互合作、相互等待,是各进程按一定的速度执行的过程。7什么是临界区和临界资源?进程进入临界区的调度原则是什么?

15、答:临界资源一次仅允许一个进程使用的资源临界区在每个进程中访问临界资源的那段程序一个进程进入临界区的调度原则是: 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其他所有试图进入临界区的进程必须等待 进入临界区的进程要在有限的时间内退出,以便让其他进程能及时进入自己的临界区 如果进程不能进入自己的临界区,则应让出cpu,避免进程出现“忙等”现象.8简述信号量的定义和作用。P,V操作原语是如何定义的?答:信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它与相应资源的使用情况有关;另

16、一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的队首。(2分)信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现进程的同步和互斥。(1分)P,V操作原语有如下定义。P(S)顺序执行下述两个动作(1分):信号量的值减1,即S=S-1;如果S=0,则该进程继续执行。如果S0,则该进程继续运行;如果SN begin V(S1); goto L; end /同方向过河的人站满桥墩时,重新申请计数 R=R+1; If R=1 P(S);/申请过河V(S1); /释放计数器的使用权 (3)占有一个桥墩,并顺序过河到对岸;P(S

17、1); R=R-1; If R=0 V(S);/如果已经无同向的人过河,释放占用权V(S1); (3)end. 7在一个飞机订票系统中,多个用户共享一个数据库。各用户可以同时查询信息,若有一个用户要订票,须更新数据库时,其余所有用户都不可以访问数据库。请用P,V操作设计一个同步算法,实现用户查询与订票功能。要求:当一个用户订票而需要更新数据库时,不能因不断有查询者到来而使其长时间等待。利用信号量机制保证其正常执行。解:这是典型的读者写者问题,查询信息的用户是读者,订票用户是写者,并且要求写者优先。(2)变量说明:(2)计数变量rc正在运行的查询者进程数目,初值为0.信号量Sw控制订票者进程的活

18、动,初值为1.Src互斥使用rc变量,初值为1.S当订票者到达时封锁后续的读进程,初值为1.读者进程 P(S)P(Src)rc=rc+1if (rc=1) P(Sw)V(Src)V(S) (2)查询库当中的信息P(Src)rc=rc-1;if (rc=0) V(Sw)V(Src) (2) 写者进程 (2)P(S)P(Sw)更新数据库内容V(Sw)V(S)8某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:(1)用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及

19、信号量各种取值的含义。(2)根据所定义的信号量,把应执行的PV操作填入下述空格中,以保证进程能够正确地并发执行。COBEGINPROCESSPI(I=1,2,) begin进入售票厅; 购票; 退出; endCOEND(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。答:(1)定义一信号量S,初始值为20。(1)意义:(3=1*3)S0S的值表示可继续进入售票厅的人数S=0表示售票厅中已有20名顾客(购票者)S0|S|的值为等待进入售票厅的人数(2)上空格为P(S) (2) ;下空格为V(S)(2)(3)S的最大值为20 (1 );S的最小值为20n(1 )9在公共汽车

20、上,司机和售票员各行其职,司机负责开车和到站停车;售票员负责售票和开门关门,当售票员关好车门后,驾驶员才能开车行使。试用P/V操作实现司机与售票员间的同步。解答:semaphore mutex1=0,mutex2=0; (2) main() cobegin driver() busman()coend (2)driver() while(true) p(mutex1) 启动公共汽车 正常开车 到站停车 v(mutex2) (3)busman() while(true) 关车门 v(mutex1) 售票 p(mutex2) 开车门 上下乘客 (3)10并发问题:设有两个优先级相同的进程p1, p

21、2如下。令信号s1, s2的初值为0,已知z=2,试问p1, p2并发运行结束后x=? y=? z=? 进程p1 进程p2 y := 1 x := 1 y := y+2 x := x+1 v(s1) p(s1) z := y+1 x := x+y p(s2) v(s2) y := z+y z := x+z 解答:(分析过程略 2)从结果来看,两个进程无论谁先谁后,结果都是一样的。(2) x = 5; y = 12; z = 9 (6)11 M8M7M6M5M4M3M2试用信号量机制来描述下述前趋图M1 解答:首先定义信号量S12,S13,S14,S26,S36,S47,S57,S38,S78的

22、初值都为0,分别表示相对应的进程是否完成:(2)COBEGIN (8=1*8)Process M1:begin V(S12) V(S13) V(S14) endProcess M2:begin P(S12) V(26) endProcess M3:begin P(S13) V(S36) V(S38) endProcess M4:beginP(S14) V(S47) endProcess M5:begin V(S57) endProcess M6:begin P(S26) P(S36) endProcess M7:begin P(S47) P(S57) P(S78) endProcess M8:

23、begin P(S38) P(S78) end COEND12 M6M4M3M5M2试用信号量机制来描述下述前趋图M1 解答:首先定义信号量S12,S13,S24,S25,S56,S46,S36的初值都为0,分别表示相对应的进程是否完成(2):COBEGIN (6=1*6)Process M1:begin V(S12) V(S13) endProcess M2:begin P(S12) V(24) V(25) endProcess M3:begin P(S13) V(S36) endProcess M4:begin P(S14) V(S46) endProcess M5:begin P(S25

24、) V(S56) endProcess M6:begin P(S36)P(S46) P(S56) end COEND13设系统有三个并发进程R,C,P,共享一个能存放n个数据的环形缓冲区buf。进程R负责从输入设备上读数据,每读一个后把它存放在缓冲区buf的一个单元中;进程C负责从缓冲区读数据并进行处理,之后将处理结果再送入缓冲区的一个单元中;进程P负责从缓冲区读进程C处理的结果并打印。请用P、V操作为三进程的正确执行写出同步算法。解答:解决同步问题需设一个互斥信号量mux,用于控制三个进程互斥使用缓冲区,初值为1;再设三个同步信号量,用于控制对缓冲区的空闲数量和不同数据个数的记录。S0表示缓

25、冲区空闲个数,初值为n;S1表示缓冲区中输入数据的个数,初值为0;S2表示缓冲区中输出数据的个数,初值为0。(4)算法描述如下:(6=2*3) 进程R 进程C 进程P L1: L2: L3:P(S0) P(S1) P(S2)P(mux) P(mux) P(mux)读一个数据 从缓冲区中取一个 从缓冲区中读 送缓冲区 数据处理后放回去 输出数据V(mux) V(mux) V(mux)V(S1) V(S2) V(S0) 打印gotoL1: gotoL2: gotoL3:名词解释1死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。2饥饿在系统中

26、,每个资源占有者都在有限时间内释放它所占有的资源,但资源中存在某些申请者由于某种原因却永远得不到资源的一种错误现象。3死锁防止要求进程申请资源时遵循某种协议,从而打破产生死锁的四个必要条件中的一个或几个,保证系统不会进入死锁状态。4死锁避免对进程所发出的每一个申请资源命令加以动态地检查,并根据检查结果决定是否进行资源分配。就是说,在资源分配过程中若预测有发生死锁的可能性,则加以避免。这种方法的关键是确定资源分配的安全性。5安全序列针对当前分配状态来说,系统至少能够按照某种次序为每个进程分配资源(直至最大需求),并且使他们依次成功地运行完毕,这种进程序列p1,p2,pn就是安全序列。简答题1计算

27、机系统中产生死锁的根本原因是什么?死锁发生的四个基本条件是什么?答: 计算机系统中产生死锁的根本原因是:资源有限且操作不当 。死锁发生的四个基本条件有互斥条件、请求保持条件(占有且等待条件)、非剥夺条件(不可抢占条件)和环路条件(循环等待条件) 。2简述发生死锁的四个必要条件?答: 四个必要条件是:互斥条件、占有且等待条件(请求保持条件)、不可抢占条件(非剥夺条件)和循环等待条件(环路条件)。 互斥条件某个资源在一段时间内只能由一个进程占有,不能同时被两个及其以上的进程占有。 占有且等待条件进程至少已经占有一个资源,但又申请新的资源。 不可抢占条件一个进程所占有的资源再用完之前,其他进程不能强

28、行夺走资源,只能由该进程用完之后主动释放。 循环等待条件存在一个进程等待序列P1,P2,Pn,其中,P1等待P2所占有的某个资源,P2等待P3所占有的某个资源,而Pn等待P1所占有的某个资源,从而形成一个进程循环等待。 3什么是死锁?解决死锁的方法一般有那几种?答: 死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。 解决死锁问题的一般方法为:死锁的预防、死锁的避免、死锁的检测和恢复。 4死锁预防的基本思想是什么?死锁避免的基本思想是什么?答:死锁预防的基本思想是:要求进程申请资源是遵循某种协议,从而打破产生思索的四个必要条件中的一个或几

29、个,保证系统不会进入死锁状态. 死锁避免的基本思想是:对进程所发出的每一个申请资源命令加以动态地检查,并根据检查结果决定是否进行资源分配.就是说,在资源分配过程中若预测有发生死锁的可能性,则加以避免.这种方法的关键是确定资源分配的安全性. 5什么是死锁的安全序列?何谓系统是安全的?答:进程的安全序列P1,P2,PN是这样组成的:若对于每个进程Pi(1=I=n),它需要的附加资源可以被系统中当前可用资源加上所有进程Pj(ji)当前占有资源之和所满足,则 P1,P2,PN 为一个安全序列。 “系统是安全的”是指系统中的所有进程能够按照某种次序分配资源,并且依次运行完毕。即系统中的进程处于安全序列中。 6资源按序分配法为什么能够预防死锁?证明:采用反证法来证明。 若存在循环等待,设在环路上的一组进程为P0,P1,P2,Pn,这里Pi等待进程Pi+1占有资源Ri(下角标取模运算,从而,Pn等待p0占有的资源)。由于Pi+1占有资源Ri,又申请资源Ri+1,从而一定存在F(i)F(i+1), 该式对所有的i都成立。于是就有: F(R0)F(R1)F(Rn)F(R0) 由传递性得到: F(R0)F(R0) 显然,这是不可能的,因而,上述假设不成立,表明不会出现循环等待条件。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com