《计算机操作系统题库(答案).docx》由会员分享,可在线阅读,更多相关《计算机操作系统题库(答案).docx(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章操作系统引论选择题1 .操作系统是一种=A.通用软件B.系统软件C.应用软件D.软件包答:B2 .操作系统的管理部分负责对进程进行调度。A.主存储器B.控制器C.运算器D.处理机答:D3 .操作系统是对进行管理的软件。A.软件B.硬件C.计算机资源D.应用程序答:C4 .从用户的观点看,操作系统是 oA.用户与计算机之间的接口B.控制和管理计算机资源的软件C.合理地组织计算机工作流程的软件D.由若干层次的程序按一定的结构组成答:A5 .操作系统的功能是进行处理机管理、管理、设备管理及信息管理。A.进程B.存储器C.硬件D.软件答:B6 .操作系统中采用多道程序设计技术提高CPU和外部设备
2、的 oA.利用率B.可靠性C.稳定性D.兼容性答:A7 .操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的和方便用户使用计算机而配备的一种系统软件。A.速度B.利用率C.灵活性D.兼容性答:B8 .操作系统的基本类型主要有一。A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统答:B9 .所谓是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。A.多重处理B.多道程序设计C.实时处理D.共行执行答:B10 .下面关于操作系统的叙述中正
3、确的是 OA.批处理作业必须具有作业控制信息。B.分时系统不一定都具有人机交互功能。C.从响应时间的角度看,实时系统与分时系统差不多。D.由于采用了分时技术,用户可以独占计算机的资源.答:A11 .如果分时操作系统的时间片一定,那么,则响应时间越长。A.用户数少B.用户数越多C.内存越少D.内存越多答:B12 .实时操作系统必须在内完成来自外部的事件。A.响应时间B.周转时间C.规定时间D.调度时间答:C13 .分时系统中为了使多个用户能够同时与系统交互,最关键的问题是。A.计算机具有足够快的运算速度B.能快速进行内外存之间的信息交换C.系统能够及时接收多个用户的输入 D.短时间内所有用户程序
4、都能运行答:C14 .分时操作系统通常采用策略为用户服务。A.可靠性和灵活性B.时间片轮转C.时间片加权分配D.短作业优先答:B15 .在操作系统控制下计算机系统能及时处理由过程控制反馈的数据并作出响应。A.实时B.分时C.分布式D.单用户答:A16 .下面6个系统中,必须是实时操作系统的有个。计算机辅助设计系统航空订票系统过程控制系统机器翻译系统办公自动化系统计算机激光照排系统A.1 B.2 C.3 D.4答:C17 .若把操作系统看作计算机系统资源的管理者,下列的不属于操作系统所管理的资源。A.程序 B.内存 C. CPU D.中断答:D18 .在下列操作系统的各个功能组成部分中,不需要硬
5、件的支持。A.进程调度B.时钟管理C.地址映射D.中断系统答:A19 .设计实时操作系统时,首先应考虑系统的。A.可靠性和灵活性B.实时性和可靠性C.多路性和可靠性D.优良性和分配性答:B20 .分时系统需要使用下面哪些成分?(1)多道程序设计技术(2)作业说明书(3)终端命令解释程序(4)中断处理(5)优先级调度(6)系统调用答:、(3)、(4)、(6)21 .时间片概念一般用于 oA.批处理操作系统B.分时操作系统C.实时操作系统D.都不是答:B22 .批处理系统的主要缺点是。A. CPU使用效率低 B.无并行性C.无交互性D.都不是答:C23 .下面不属于操作系统功能。A.用户管理B.
6、CPU和存储管理C.设备管理D.文件和作业管理答:A24 .当CPU执行系统程序时,CPU处于A.管态B.目态C.系统态D. A和C答:D25 .能直接对系统中各类资源进行动态分配和管理,控制、协调各任务的并行执行且系统中主机无主次之分,并向用户提供统一的、有效的软件接口的系统是 oA.分布式操作系统B.实时操作系统C.网络操作系统D.批处理操作系统答:A26 .下列选择中,不是操作系统关心的主要问题。A.管理计算机裸机B.设计、提供用户程序与计算机硬件系统的界面C.管理计算机系统资源 D.高级程序设计语言的编译器答:D27 .实时操作系统对可靠件和安全性的要求极高,它。A.十分注意系统资源的
7、利用率B,不强调响应速度C.不强求系统资源的利用率D.不必向用户反馈信息答:C28 .火车站的售票系统属于系统。A.单道批处理B.多道批处理C.实时D.分时答:C29 .在分时系统中,通常的时间片是 oA.几分钟B.几十秒C.几十毫秒D.几十微秒答:C30 .用于控制生产流水线、进行工业处理控制的操作系统是A.分时系统B.网络操作系统C.实时系统D.批处理系统答:C31 .分时操作系统适用于0A.控制生产流水线B.调试运行程序C.大量的数据处理D.多个计算机资源共享答:B32 .下列系统中,属于实时系统的是 oA.办公自动化系统B.计算机辅助设计系统C.飞机订票系统D.计算机激光照排系统答:C
8、33 .目前个人计算机中的操作系统主要是。A.网络操作系统B.批处理操作系统C.单用户操作系统D.单道单用户操作系统答:C34 .下列操作系统中强调并行计算的操作系统是。A.分时系统B.实时系统C.网络操作系统D.分布式操作系统答:D35 .能够实现通信及资源共享的操作系统是 oA.批处理操作系统B.分时操作系统C.实时操作系统D.网络操作系统答:D36 . UNIX操作系统是一种A.分时操作系统B.批处理操作系统C.实时操作系统D.分布式操作系统答:A37 .以下操作系统中属于网络操作系统的是。A. MS-DOS B. Windows98 C. UNIX D. WindowsNT答:D二.填
9、空题1 .操作系统的基本功能包括管理、管理、管理、管理。除此之外还为用户使用操作系统提供了用户接口。答:处理机存储器设备信息(或文件)2 .如果一个操作系统兼有批处理、分时处理和实时处理操作系统三者或其中两者的功能,这样的操作系统称为答:通用操作系统3 .在分时和批处理系统结合的操作系统中引入了“前台”和“后台”作业的概念,其目的是。答:为了提高CPU的利用率4 .实时操作系统与分时操作系统的主要区别是.答:及时性和高可靠性5 .在主机控制下进行的输入/输出操作称为操作。答:联机输入输出6 .按内存中同时运行程序的数目可以将批处理系统分为两类:一和色_答:单道批处理系统多道批处理系统7 .系统
10、不允许用户随时干预自己程序的运行。答:批处理8 .多道程序设计的特点是多道、和。答:宏观上的并行、微观上的串行9 .单道批处理系统是在解决和的矛盾中发展起来的。答:人机矛盾、CPU和I/O设备之间速度不匹配10 .对操作系统的总体设计目标来说,批处理操作系统应注重提高计算机的效率,尽量增加系统的,分时操作系统应保证用户:而实时操作系统则应在保证及时响应和处理有关事件的前提下,再考虑。答:平均吞吐量、所能忍受的响应时间、系统资源的利用率11 .分时系统中的是衡量一个分时系统性能的重要指标。答:响应时间12 .导弹飞行控制系统属于系统。答:实时13 .在操作系统的发展过程中,多道程序设计和的出现,
11、标志了操作系统的正式形成。答:分时系统14 .实时系统按应用的不同分为和两种。答:过程控制系统、数据处理系统15 .分时操作系统的用户通过与计算机相连的来使用计算机系统,允许多个用户同时上机。答:终端16 .个人计算机操作系统每次只允许一个用户使用计算机,称为 o答:单用户操作系统17 .为计算机网络配置的操作系统称。答:网络操作系统18 .网络操作系统的主要功能是实现以及 o答:各台计算机之间的通信、网络中各种资源的共享19 .近年来,适合开放系统的操作系统成为一个重要的研究课题,IEEE把它命名为,即计算机环境可移植操作系统。答:POSIX20 .在控制下,用户在终端设备上可以直接输入、调
12、试和运行自己的程序,能直接修改程序中的错误,并直接获得结果。答:分时系统21 .根据服务对象不同,常用的单处理机OS可以分为如下三种类型:允许多个用户在其终端上同时交互地使用计算机的OS称为系统,它通常采用策略为用户服务;允许用户把苦干个作业提交计算机系统集中处理的OS称为系统,衡量这种系统性能的一个主要指标是系统的;在系统控制下,计算机系统能及时处理由过程控制反馈的数据并做出响应。设计这种系统时应首先考虑系统的 O答:分时、时间片轮转、批处理、吞吐量、实时、及时性和可靠性三.简答题22 叙述操作系统在计算机系统中的位置。答:操作系统是运行在计算机硬件系统上的最基本的系统软件。它控制和管理着所
13、有的系统硬件(CPU、主存、各种硬件部件和外部设备等),也控制和管理着所有的系统软件(系统程序和用户进程等),操作系统对计算机使用者提供了一种良好的操作环境,也为其他各种应用系统提供了最基本的支撑环境。现代操作系统是一个复杂的软件系统,它与计算机硬件系统有着千丝万缕的联系,也与用户有着密不可分的关系,它在计算机系统中位于计算机裸机和计算机用户之间,如下图所示(图1.1),紧挨着硬件的就是操作系统,它通过系统核心程序对计算机系统中的几类资源进行管理,如处理机、存储器、输入输出设备、数据与文档资源、用户作业等,并向用户提供若干服务,通过这些服务将所有对硬件的复杂操作隐藏起来,为用户提供一个透明的操
14、作环境。在操作系统的外层是其他系统软件。操作系统是最基本的系统软件。用户可以直接通过系统软件层与计算机打交道,也可以建立各类应用软件和应用系统,通过它们来解决用户的问题。由此可见,操作系统是介于计算机硬件和用户之间的一个接口。图1.1掾作系统的位置23 怎样理解“由于计算机上装有操作系统,从而扩展了原计算机的功能”?答:计算机系统的硬件结构和机器一级的操作包含了诸如指令集、存储器组织、总线结构和输入输出部件等的操作与控制,这些最基本的操作恰恰又是最复杂和最难以由用户直接进行的操作。例如:用户要进行文件读写,而文件是以二进制代码的方式存放在磁盘、磁带等存储装置中,需要有一种途径把用户的要求转换成
15、对具体的硬件部件、电路信号、选择开关等的细微操作,用户自己不可能完成这些操作,但操作系统把用户的高级操作转换成一系列的低级操作,最终完成文件的读写。所有的低级操作对用户来讲都是透明的,即无需用户关心的、看不见的,操作系统把硬件全部隐藏起来,给用户提供了一个友好的、易于操作的界面。此外,操作系统还要进行大量的系统事务处理。如响应中断的发生、处理定时操作、管理存储器及其他低级操作。所以,可以说操作系统是硬件系统的扩展,从而扩展了原计算机的功能,它比直接对计算机硬件系统进行操作要容易得多。24 试对分时操作系统和实时操作系统进行比较。答:我们可以从以下几个方面对这两种操作系统进行比较:(1)实时信息
16、处理系统与分时操作系统一样都能为多个用户服务,系统按分时原则为多个终端用户服务;而对实时控制系统,则表现为经常对多路现场信息进行采集以及对多个对象或多个执行机构进行控制。(2)实时信息处理系统与分时操作系统一样,每个用户各占一个终端,彼此独立操作,互不干扰。因此用户感觉就像他一人独占计算机:而在实时控制系统中信息的采集和对对象的控制也都是彼此互不干扰的。(3)实时信息系统对响应时间的要求与分时操作系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的响应时间则是以控制对象所能接受的延时来确定的。(4)分时操作系统是一种通用系统,主要用于运行终端用户程序,因此它具有较强的交互能力。而实时
17、操作系统虽然也有交互能力,但其交互能力不及前者。(5)分时操作系统要求系统可靠,相比之下,实时操作系统则要求系统高度可靠。25 设计实时操作系统的主要困难是什么?答:设计适用于实时环境的操作系统的主要困难是:在实时环境规定的时间限额内对用户作出相应的反应。如果系统不能在规定的时间限额内完成指定的任务,那么就可能导致整个实时系统的崩溃。因此,在设计这类操作系统时,设计者必须保证所采用的调度策略及相关技术不会使响应时间超过实时环境所规定的时间限额。26 采用多道程序设计的主要优点是什么?答:多道程序设计考虑到作业的运行规律是交替使用CPU和I/O,故将多道程序同时保存于系统中,使各作业对CPU与I
18、 /0的使用在时间上重叠,提高了 CPU和I /0设备的利用率。27 一个分层结构操作系统由裸机,用户,CPU管理,文件管理,作业管理,内存管理,设备管理,命令管理等部分组成。试按层次结构的原则从内到外将各部分重新排列。答:按层次结构原则从内到外依次为:裸机,CPU管理,内存管理,设备管理,文件管理,作业管理,命令管理,用户。28 什么是操作系统?它有什么基本特征?答:操作系统是指控制和管理计算机的软、硬件资源,合理组织计算机的工作流程、方便用户使用的程序集合。操作系统具有4个基本特征:(1)并发性:宏观上在一段时间内有多道程序在同时运行,而微观上这些程序是在交替执行。(2)共享性:因程序的并
19、发执行而使系统中的软、硬件资源不再为某个程序独占,而是由多个程序共同使用。(3)虚拟性:多道程序设计技术把一台物理计算机虚拟为多台逻辑上的计算机,使得每个用户都感觉自己是“独占”计算机。(4)异步性(不确定性):多道程序系统中,各程序之间存在着直接或间接的联系,程序的推进速度受到其他程序的影响,这样,程序运行的顺序、程序完成的时间以及程序运行的结果都是不确定的。29 操作系统是随着多道程序设计技术的出现逐步发展起来的,要保证多道程序的正常运行,在技术上需要解决哪些基本问题?答:(1)在多道程序之间应如何分配被它们共享的处理机,使得CPU既能满足各程序运行的需要.又有较高的利用率;此外,一旦将C
20、PU分配给某程序后,应何时收回。(2)如何为每道程序分配必要的内存空间,使它们各得其所但又不会因相互重叠而丢失信息:此外,应如何防止因某道程序出现异常情况而破坏其他程序。(3)系统中可能有多种类型的I/O设备供多道程序共享,应如何分配这些I/O设备,如何做到既方便用户的使用,又能提高设备的利用率。(4)在现代计算机系统中通常都存在着大量的程序和数据,应如何组织它们才便于用户使用:此外,还有信息保存的安全性和一致性问题。(5)对于系统中的各种应用程序,它们有的属于计算型,有的属于I/O型,有些既重要又紧迫,有些又要求系统能及时响应,这时系统应如何组织和安排这些作业(程序)的工作流程。实际上,这些
21、问题的全体就是操作系统的核心内容。30 如何理解操作系统的不确定性?答:在单道程序环境下,由于程序独占全机软、硬件资源且完全是在一个封闭环境下运行,所以,如果使用相同的输入,则多次运行的结果必然相同。引入多道程序技术后,由于多道程序共享全机软、硬件资源,即各程序之间存在着直接或间接的联系。此时程序的运行就不是在一个封闭的环境下,程序的运行要受到其他程序和系统资源的影响,这会引起程序运行的结果、程序运行的顺序和完成的时间不确定。此外,在多道程序环境下,外部设备的中断、输入输出的请求等出现的时间都是不确定的。这些不确定因素给操作系统设计带来了很大的复杂性。对于程序执行结果的不确定是绝不允许的,这是
22、操作系统必须解决的主要问题;而程序运行顺序及完成时间的不确定是多道程序环境所决定的,因此,操作系统应能对运行顺序进行协调和管理。至于外部设备的中断、输入输出请求甚至程序运行故障等不确定性,操作系统应在出现的时刻及时响应并予以解决,如果操作系统的设计考虑不周,也可能造成系统的混乱和崩溃。第二章进程管理一.选择题1 .在进程管理中,当时进程从阻塞状态变为就绪状态.A.进程被进程调度程序选中 B.等待某一事件C.等待的事件发生D.时间片用完答:C2 .分配到必要的资源并获得处理机时的进程状态是。A.就绪状态B.执行状态C.阻塞状态D.撤消状态答:B3 . P、V操作是.A.两条低级进程通信原语B.两
23、组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语答:A4 .对进程的管理和控制使用。A.指令B.原语C.信号量D.信箱通信答:B5 .进程的并发执行是指若干个进程。A.同时执行B.在执行的时间上是重叠的C.在执行的时间上是不可重叠的D.共享系统资源答:B6 .若P、V操作的信号量S初值为2,当前值为一1,则表示有等待进程。A.0个 B.1个 C .2个 D.3个答:B7 .进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是:由运行状态变为阻塞状态的条件是A.时间片用完B.等待某事件发生C.等待的某事件己发生D.被进程调度程序选中答,DB8 .下列的进程状
24、态变化中,变化是不可能发生的。A.运行一就绪B.运行一等待C.等待一运行D.等待一就绪答:C9 .一个运行的进程用完了分配给它的时间片后,它的状态变为A.就绪B.等待C.运行D.由用户自己确定答:A10 .用P、V操作管理临界区时,信号量的初值应定义为。A.-1 B.0 C.1 D.任意值答:C11 .用V操作唤醒一个等待进程时,被唤醒进程的状态变为.A.等待 B.就绪 C.运行 D.完成答:B12 .进程间的同步是指进程间在逻辑上的相互关系。A.联接 B.制约 C.继续 D.调用答:B13 .是一种只能进行P操作和V操作的特殊变量。A.调度 B.进程 C.同步 D.信号量答:D14 .下面对
25、进程的描述中,错误的是。A.进程是动态的概念B.进程执行需要处理机C.进程是有生命期的D.进程是指令的集合答:D15 .下面的叙述中正确的是2)个进程,且当前不再执行进程调度程序,试考虑卜述4种情况:没有运行进程,有2个就绪进程,n个进程处于等待状态。有1个运行进程,没有就绪进程,n-l进程处于等待状态。有1个运行进程,有1个就绪进程,n 2进程处于等待状态。有1个运行进程,n1个就绪进程,没有进程处于等待状态。上述情况中,不可能发生的情况是一。答:14 .在一个单处理机系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有八个,最少有个。答:4015 .操作系统中,
26、对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是。答:S016 .下面关于进程的叙述不正确的是。进程申请CPU得不到满足时,其状态变为等待状态。在单CPU系统中,任一时刻至多有一个进程处于运行状态。优先级是进行进程调度的重要依据,一旦确定不能改变。进程获得处理机而运行是通过调度而实现的。答:17 .信箱逻辑上分成和两部分。色中存放有关信箱的描述。耳由若干格子组成,每格存放一信件,格子的数目和大小在创建信箱时确定。答:信箱头信箱体18 .当多个进程等待分配处理机时,系统按一种规定的策略从多个处于状态的进程中选择一个进程,让它占有处理机,被选中的进程就进入了状态。答:就绪、执行19
27、 .若使当前运行的进程总是优先级最高的进程,应选择进程调度算法。答:抢占式(剥夺式)20 .操作系统中用于完成一些特定功能的、不可中断的过程称为 o答:原语三.简答题1 .在操作系统中为什么要引入进程概念?它与程序的关系是怎样的?答:在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。这些都是在程序执行的动态过程中发生的。用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。进程和程序是既有联系又有区别的两个概念,进
28、程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。它们的主要区别如下:(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念;进程是程序在处理机上的一次执行过程,它是一个动态概念。(2)程序的存在是永久的,而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤销而消亡。(3)程序仅是指令的有序集合。而进程则由程序、数据和进程控制块组成。(4)在传统的操作系统中,进程是资源分配和调度运行的基本单位,而程序不是。(5)进程与程序之间不是一一对应的,即同一程序同时运行于若干不同的数据集合上,它将属于若干个不同的进程:而一个进程至少对应执行一个程序。2
29、 .为了实现并发进程间的合作和协调工作,以及保证系统的安全,操作系统在进程管理方面应做哪些工作?答:(1)进程控制:系统必须设置一套控制机构来实现进程创建、进程撤消以及进程在运行过程中的状态转换。(2)进程同步:系统必须设置同步机制来实现对所有进程的运行进行协调,协调的方式包括进程的互斥和进程的同步。(3)进程通信:多道程序环境下可能需要诸进程合作完成一个任务,这些进程相互间需要通过交换信息来协调各自工作的进度。因此系统必须具有进程之间通信(交换信息)的能力。(4)进程调度:系统必须能够在处理机空闲时,按一定算法从就绪进程队列中选择一个就绪进程,把处理机分配给它,并为之设置运行的现场使其投入运
30、行。3 .在操作系统中引入线程概念的主要目的是什么?答:减少程序并发执行时所需付出的时空开销,提高程序执行的并发度。特别有利于共享存储器的多处理机系统,和更加适合c/s模型。4 .在一个单CPU的多道程序设计系统中,若在某一时刻有N个进程同时存在,那么处于运行态、等待态和就绪态进程的最小和最大值分别可能是多少?答:若多道程序设计系统中,在某一时刻有N个进程同时存在,则处于运行态的进程最少。个,最大1个;处于就绪态的进程最少0个,最大N1个:处于等待态的进程最少0个,最大N个。5 .进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(1)若干同学去图书馆借书;(2
31、)两队举行篮球比赛;(3)流水线生产各道工序:(4)商品生产和社会消费答:进程之间的制约关系分为直接制约关系(即同步)和间接制约关系(即互斥)。同步是因合作进程之间协调彼此的工作而控制自己的执行速度,即因相互合作、相互等待而产生的制约关系;而互斥是进程之间竞争临界资源而禁止两个以上的进程同时进入临界区所发生的制约关系。(1)属于互斥关系,因为一本书只能借给一个同学。(2)属于互斥关系,篮球只有一个,两队都要争夺。(3)居于同步关系,各道工序的开始都依赖前一道工序的完成。(4)属于同步关系,商品没生产出来则消费无法进行,商品没有消费完则无须再生产。6 .为了让用户进程互斥地进入临界区,可以把整个
32、临界区实现成不可中断的过程,即让用户具有屏蔽所有中断的能力。每当用户程序进入临界区的时候,屏蔽所有中断;当出了临界区的时候,再开放所有中断。你认为这种方法有什么缺点。答:用户进程进入临界区时屏蔽所有中断,应当也包括系统程序。若屏蔽的是用户进程,的确可以保护临界资源,但若系统所发出的中断也被屏蔽,则会引起错误,因为系统的中断往往与当前运行的程序无关,却可能是一些重耍的硬件中断,如电源故障等,故不可盲目屏蔽所有中断;又或者当时发出故障中断的中断源恰好是该临界资源,则更应该及时响应处理。7.设有n个进程共享一个互斥段,对于如下两种情况:(1)如果每次只允许一个进程进入互斥段;(2)如果每次最多允许m
33、个进程(m m1,1,0,一(nm)。四.应用题1,若程序A和B单独执行时分别需要1小时和1.5小时,其中CPU工作时间分别为18分钟和27分钟。若采用多道程序设计方法,让A和B并行工作,假定CPU利用率达到50%,另加15分钟系统开销,请问系统效率能提高多少?解:在多道系统中,程序A和B共用的CPU时间为:(18+27)/50%=90分钟系统效率提高=(A和B单独执行的时间总和一多道方式下总时间)/ A和B单独执行的时间总和,即(60十90)-(90+15)7(60+90)=45/150=30%2 .在测量控制系统中,数据采集任务把所采集的数据送入一单缓冲区;计算任务从该单缓冲区中取出数据进
34、行计算。试写出利用信号量机制实现两者共享单缓冲区的同步算法。解:在本题中,应设置两个信号童sf, se,信号量sf表示缓冲区中是否有可供打印的计算结果,其初值为。;信号量se用于表示缓冲区有无空位置存放新的信息,其初值为1。本题的同步描述如F: int se=1;int sf=0;main()(cobeginget ();compute ();coendget()while (采集工作未完成)采集一个数据;P(se);将数据送入缓冲区;v(sf);compute ()while (计算工作未完成)(P(sf);从缓冲区中取出数据: v(se);进行数据计算:3 .下图给出了四个进程合作完成某一
35、任务的前趋图,试说明这四个进程间的同步关系并用 P、V操作描述它。解:上图说明任务启动后S1先执行。当S1结束后,S2、S3可以开始执行。S2、S3完成后,S4才能开始执行。为了确保这一-执行顺序,设三个同步信号量b2、b3、b4分别表示进程S2、S3、S4是否可以开始执行,其初值均为0。这四个进程的同步描述如下: int b2=0;int b3=0;int b4=0;main ()cobeginsi ();s2();s3();s4();coend sl()v(b2);v(b3);s2()P(b2);v(b4);s3()(P(b3);v(b4);s4()P(b4);p(b4);/*因在s2和s
36、3完成后均对b4作了 v操作,因此这里要用两个p操作*/4 .某系统的进程状态转换图如下,请说明:(1)引起各种状态转换的典型事件有哪些?(2)当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换1?(3)试说明是否会发生下述因果转换:2f324-*1答:(1)在本题所给的进程状态转换图中.存在四种状态转换。当进程调度程序从就绪队列中选取一个进程投入运行时引起转换1;正在执行的进程如因时间片用完而被暂停执行就会引起转换2:正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成I/O)则
37、会引起转换3;当进程等待的事件发生时(如I/O完成)则会引起转换4o(2)如果就绪队列非空,则一个进程的转换3会立即引起另一个进程的转换1这是因为一个进程发生转换3意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3能立即引起另一个进程的转换lo(3)所谓因果转换指的是有两个转换,一个转换的发生会引起另一个转换的发生,前一个转换称为因,后一个转换称为果,这两个转换称为因果转换。当然这种因果关系并不是什么时候都能发生,而是在一定条件下才会发生。2!:发生转换2时,就必然引起另一进程的转换1。因为当发生转换2时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换1。32:某个进程的转换3决不可能引起另一进程发生转换2。这是因为当前执行进程从执行状态变为阻塞状态.不可能又从执行状态变为就绪状态。4 I:当处理机空闲且就绪队列为空时,某一进程的转换4就会引起该进程的转换1.因为此时处理机空闲,一旦某个进程发生转换4,就意味着有一个进程从阻塞状态变为就绪状态,因而调度程序就会将就绪队列中的此进程投入运行。5.某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票
限制150内