计算机操作系统习题及答案

合集下载

计算机操作系统考试题目及答案

计算机操作系统考试题目及答案

计算机操作系统考试题目及答案一、选择题(每题2分,共20分)1. 计算机操作系统的主要功能是()A. 资源管理B. 程序控制C. 用户接口D. 以上都是答案:D2. 在操作系统中,进程和线程的主要区别是()A. 进程是资源分配的基本单位,线程是任务执行的基本单位B. 进程是任务执行的基本单位,线程是资源分配的基本单位C. 进程和线程没有区别D. 以上都不对答案:A3. 操作系统的五大特性包括:处理器管理、存储管理、设备管理、文件管理和()A. 用户接口B. 网络管理C. 图形界面管理D. 以上都是答案:D4. 下列关于操作系统的描述,错误的是()A. 操作系统是计算机系统的核心软件B. 操作系统负责管理计算机硬件和软件资源C. 操作系统提供用户与计算机之间的接口D. 操作系统可以运行在各种计算机硬件平台上答案:D5. 下列哪种调度算法是抢占式调度?()A. 先来先服务(FCFS)B. 最短作业优先(SJF)C. 轮转调度(Round Robin)D. 最高响应比优先(HRRN)答案:C二、填空题(每题2分,共20分)1. 操作系统的目标是______、______、______和______计算机资源。

答案:合理分配、高效利用、方便用户、确保安全2. 进程可以分为______进程和______进程。

答案:前台、后台3. 分页存储管理中,______是指内存中的一块连续的存储区域。

答案:页4. 在______调度算法中,操作系统会根据进程的优先级来决定下一个要执行的进程。

答案:优先级5. 文件系统的主要功能包括:______、______、______和______。

答案:文件存储、文件检索、文件修改、文件保护三、简答题(每题10分,共30分)1. 请简要介绍操作系统的五大特性。

答案:操作系统的五大特性包括:处理器管理、存储管理、设备管理、文件管理和用户接口。

处理器管理负责处理器的分配和调度;存储管理负责内存资源的分配和回收,以及内存的扩充技术;设备管理负责管理计算机硬件设备,包括输入输出设备的分配和回收,以及设备驱动程序的管理;文件管理负责文件的存储、检索、修改和保护,以及文件系统的维护;用户接口提供用户与计算机之间的交互,包括命令行接口和图形用户接口。

操作系统练习题_及答案解析

操作系统练习题_及答案解析

操作系统练习题第一章引言(一单项选择题1 操作系统是计算机系统的一种( 。

A.应用软件B. 系统软件c. 通用软件D.工具软件2.操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机( A.使用方便B. 高效工作C.合理使用资源D.使用方便并高效工作3.允许多个用户以交互方式使用计算机的操作系统是( 。

A.分时操作系统B. 批处理单道系统C.实时操作系统D.批处理多道系统4.下列系统中( 是实时系统。

A.计算机激光照排系统B. 办公自动化系统C.化学反应堆控制系统D.计算机辅助设计系统5.操作系统是一种系统软件,它( 。

A.控制程序的执行B. 管理计算机系统的资源C.方便用户使用计算机D.管理计算机系统的资源和控制程序的执行6.计算机系统把进行( 和控制程序执行的功能集中组成一种软件,称为操作系统A.CPU 管理B.作业管理C.资源管理D.设备管理7.批处理操作系统提高了计算机系统的工作效率,但( 。

A.不能自动选择作业执行B. 无法协调资源分配c.不能缩短作业执行时间D 在作业执行时用户不能直接干预8.分时操作系统适用于( 。

A.控制生产流水线B.调试运行程序c.大量的数据处理D.多个计算机资源共享9.在混合型操作系统中,“前台”作业往往是指( 。

A.由批量单道系统控制的作业B.由批量多道系统控制的作业c.由分时系统控制的作业D.由实时系统控制的作业10.在批处理兼分时的系统中,对( 应该及时响应,使用户满意。

A.批量作业B.前台作业c.后台作业D.网络通信11.实时操作系统对可靠性和安全性要求极高,它( 。

A.十分注重系统资源的利用率B.不强调响应速度c.不强求系统资源的利用率D.不必向用户反馈信息12.分布式操作系统与网络操作系统本质上的不同之处在于( 。

A.实现各台计算机之间的通信B.共享网络个的资源c.满足较大规模的应用D.系统中若干台计算机相互协作完成同一任务13.SPOOL技术用于( 。

计算机操作系统题库及答案

计算机操作系统题库及答案

第一章操作系统引论一.选择题1.操作系统是一种。

A.通用软件B.系统软件C.应用软件D.软件包答:B2.操作系统的管理部分负责对进程进行调度。

A.主存储器B.控制器C.运算器D.处理机答:D3.操作系统是对进行管理的软件。

A.软件B.硬件C.计算机资源D.应用程序答:C4.从用户的观点看,操作系统是。

A.用户与计算机之间的接口B.控制和管理计算机资源的软件C.合理地组织计算机工作流程的软件D.由若干层次的程序按一定的结构组成答:A5.操作系统的功能是进行处理机管理、管理、设备管理及信息管理。

A.进程 B. 存储器C.硬件 D. 软件答:B6.操作系统中采用多道程序设计技术提高CPU和外部设备的。

A.利用率B.可靠性C.稳定性D.兼容性答:A7.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的和方便用户使用计算机而配备的一种系统软件。

A.速度B.利用率C. 灵活性D.兼容性答:B8.操作系统的基本类型主要有。

A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统答:B9.所谓是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。

A. 多重处理B.多道程序设计C. 实时处理D. 共行执行答:B10. 下面关于操作系统的叙述中正确的是。

A.批处理作业必须具有作业控制信息。

B.分时系统不一定都具有人机交互功能。

C.从响应时间的角度看,实时系统与分时系统差不多。

D.由于采用了分时技术,用户可以独占计算机的资源.答:A11. 如果分时操作系统的时间片一定,那么,则响应时间越长。

A.用户数少B.用户数越多C.内存越少D.内存越多答:B12.实时操作系统必须在内完成来自外部的事件。

A. 响应时间B.周转时间C.规定时间D.调度时间答:C13.分时系统中为了使多个用户能够同时与系统交互,最关键的问题是。

计算机操作系统试题及答案

计算机操作系统试题及答案

计算机操作系统试题及答案一、选择题1、操作系统是一种()。

A 应用软件B 系统软件C 工具软件D 调试软件答案:B操作系统是管理计算机硬件与软件资源的程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

2、以下不属于操作系统主要功能的是()。

A 进程管理B 存储管理C 设备管理D 文字处理答案:D操作系统的主要功能包括进程管理、存储管理、设备管理、文件管理和作业管理等。

文字处理通常是由专门的文字处理软件来完成,不是操作系统的主要功能。

3、在多道程序设计环境中,操作系统分配资源以()为基本单位。

A 程序B 进程C 作业D 指令答案:B进程是操作系统进行资源分配和调度的基本单位。

4、下列进程状态的转换中,不正确的是()。

A 就绪→运行B 运行→就绪C 运行→阻塞D 阻塞→运行答案:D进程状态的转换中,阻塞状态不能直接转换为运行状态,必须先转换为就绪状态,然后再被调度为运行状态。

5、临界区是指()。

A 一段程序B 一段数据区C 一种同步机制D 访问共享资源的程序段答案:D临界区是指访问共享资源的程序段,在这段程序中,进程可能会改变共享变量的值。

6、采用时间片轮转调度算法时,时间片过大,系统的性能将会()。

A 降低B 提高C 不变D 不确定答案:A时间片过大,会使得每个进程都能在一个时间片内完成大部分工作,导致进程切换次数减少,系统的响应时间变长,性能降低。

7、下面关于死锁的论述中,正确的是()。

A 死锁是指系统中多个进程无限期地等待永远不会发生的条件B 死锁是指系统中多个进程竞争资源而产生的一种僵持状态C 死锁是指系统中多个进程同时被阻塞,并永远无法唤醒D 死锁是指系统中多个进程相互等待对方释放资源答案:D死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进,即相互等待对方释放资源。

8、以下存储管理方式中,会产生内部碎片的是()。

计算机操作系统习题及答案

计算机操作系统习题及答案

计算机操作系统习题及答案一、单选题1. 操作系统是一组()。

A. 文件管理程序B. 中断处理程序C. 资源管理程序D. 设备管理程序2. 从用户观点看,操作系统是()。

A. 用户与计算机之间的接口B. 控制和管理计算机资源的软件C. 合理的组织计算机工作流程的软件D. 由若干层次的程序按一定的结构组成的有机体3. ()不是操作系统关心的主要问题。

A. 管理计算机裸机B. 设计、提供用户程序与计算机硬件系统的界面C. 管理计算机系统资源D. 高级程序设计语言的编译器4. 现代OS具有并发性和共享性,是()的引入导致的。

A.单道程序B. 磁盘C. 对象D.多道程序5. 引入多道程序的目的在于()。

A. 充分利用CPU,减少CPU等待时间B. 提高实时响应速度C. 有利于代码共享,减少主、辅存信息交换量D. 充分利用存储器6. 在单一处理机上执行程序,多道程序的执行是在()进行的。

A. 同一时刻B. 同一时间间隔内C. 某一固定时刻D. 某一固定时间间隔内7. 批处理系统的主要缺点是()。

A. CPU的利用率不高B. 失去了交互性C. 不具备并行性D. 以上都不是8. 在分时系统中,时间片一定,(),响应时间越长。

A. 内存越多B. 用户数越多C. 后备队列越短D. 用户数越少9. 在下列性质中,哪一个不是分时系统的特征。

()A. 交互性B. 同时性C. 及时性D. 独占性11. 要求在规定的时间内对外界的请求必须给予及时响应的OS是()。

A.多用户分时系统B.实时系统C.批处理系统时间D.网络操作系统12.下面6个系统中,必须是实时操作系统的有()个。

i. 航空订票系统ii. 过程控制系统iii. 机器口语翻译系统iv. 计算机辅助系统v. 办公自动化系统vi. 计算机激光照排系统A.1B.2C.3D.413. ()对多道批处理系统最重要。

A.实时性B.交互性C.共享性D.运行效率14. ()对多用户分时系统最重要。

操作系统练习题及答案

操作系统练习题及答案

操作系统练习题及答案65657(总9页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--操作系统练习题一、单项选择题1.操作系统是一种()。

2. A.应用软件 B. 系统软件 C.通用软件 D. 工具软件3.操作系统是一组()。

4. A.文件管理程序 B.中断处理程序 C.资源管理程序 D.设备管理程序5.现代操作系统的基本特征是()、资源共享和操作的异步性。

6. A.多道程序设计 B. 中断处理 C.程序的并发执行 D. 实现分时与实时处理7.()不是操作系统关心的主要问题。

8.A、管理计算机裸机9.B、设计、提供用户程序与计算机硬件系统的界面10.C、管理计算机系统资源11.D、高级程序设计语言的编译器12.引入多道程序的目的在于()。

13.A、充分利用CPU,减少CPU等待时间14.B、提高实时响应速度15.C、有利于代码共享,减少主、辅存信息交换量16.D、充分利用存储器17.()没有多道程序设计的特点。

18.A. DOS B. UNIX C. Windows 219.下列操作系统中,为分时系统的是()。

20.A. CP/M B. MS-DOS C. UNIX D. Windows NT21.在分时系统中,时间片一定,(),响应时间越长。

22.A.内存越多 B.用户数越多 C.后备队列越短 D.用户数越少23.批处理系统的主要缺点是()。

24.的利用率不高 B.失去了交互性 C.不具备并行性 D.以上都不是25.在下列性质中,()不是分时系统的特征。

26.A. 交互性 B. 同时性 C. 及时性 D. 独占性27.实时操作系统追求的目标是()。

28.A.高吞吐率 B.充分利用内存 C. 快速响应 D. 减少系统开销29.CPU状态分为系统态和用户态,从用户态转换到系统态的唯一途径是()。

30.A. 运行进程修改程序状态字 B. 中断屏蔽31.C. 系统调用 D. 进程调度程序32.系统调用的目的是()。

操作系统练习题+参考答案

操作系统练习题+参考答案

操作系统练习题+参考答案一、单选题(共100题,每题1分,共100分)1、若系统中有5个并发进程涉及某个相同的变量A,则变量A的相关临界区由()个临界区构成。

A、1B、3C、5D、6正确答案:C2、在分页虚拟存储管理系统中,采用某些页面置换算法,会出现Belady 异常现象,即进程的缺页次数会随着分配给该进程的页面数量的增加而增加。

下列算法中,可能出现Belady现象的是()。

①LRU算法②FIFO 算法③OPT算法A、仅2B、仅1、2C、仅1、3D、仅2、3正确答案:A3、下列关于管道通信的叙述中,正确的是()。

A、一个管道可以实现双向数据传输B、管道的容量仅受磁盘容量大小的限制C、进程对管道进行读操作和写操作都可能被阻塞D、一个管道只能有一个读进程或一个写进程对其操作正确答案:C4、不属于基本操作系统的是()。

A、网络操作系统B、实时操作系统C、分时操作系统D、批处理操作系统正确答案:A5、采用SPOOLing技术的目的是()。

A、提高独占设备的利用率B、提高程序的运行速度C、提高主机的效率D、减轻用户的编程负担正确答案:A6、在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应。

A、分时操作系统B、实时操作系统C、批处理操作系统D、多处理机操作系统正确答案:B7、在分页虚拟存储管理中,当发现要访问的页面不在主存时,则由硬件发出()。

A、输入输出中断B、时钟中断C、缺页中断D、越界中断正确答案:C8、()可以用来解决临界区问题。

A、时间片轮转算法B、银行家算法C、LRU算法D、Test正确答案:D9、可变分区存储管理系统中,若采用最佳适应分配算法,“空闲分区表”中的空闲区应该按()顺序排列。

A、地址从大到小B、大小从大到小C、地址从小到大D、大小从小到大正确答案:D10、进程从运行状态转换到阻塞状态可能是由于()。

A、现运行进程执行了signal操作B、现运行进程时间片用完C、现运行进程执行了wait操作D、进程调度程序的调度正确答案:C11、()不是进程的特征。

计算机操作系统习题及答案

计算机操作系统习题及答案

第一章操作系统引论一、单项选择题1.操作系统是一种__________。

A.通用软件B.系统软件C.应用软件D.软件包2,操作系统的__________管理部分负责对进程进行调度。

A.主存储器B.控制器C.运算器D.处理机3.操作系统是对__________进行管理的软件。

A.软件B.硬件C,计算机资源 D.应用程序4.从用户的观点看,操作系统是__________。

A.用户与计算机之间的接口B.控制和管理计算机资源的软件C.合理地组织计算机工作流程的软件D.由若干层次的程序按一定的结构组成的有机体5,操作系统的功能是进行处理机管理、_______管理、设备管理及文件管理。

A.进程B.存储器C.硬件D.软件6,操作系统中采用多道程序设计技术提高CPU和外部设备的_______。

A.利用率B.可靠性C.稳定性D.兼容性7.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的_______和方便用户使用计算机而配备的一种系统软件。

A. 速度B.利用率C. 灵活性D.兼容性8.操作系统的基本类型主要有_______。

A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统9.所谓_______是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。

A. 多重处理B.多道程序设计C. 实时处理D.并行执行10. _______操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。

A.网络D.分布式C.分时D.实时11.如果分时操作系统的时间片一定,那么_______,则响应时间越长。

A.用户数越少B.用户数越多C.内存越少D. 内存越多12,分时操作系统通常采用_______策略为用户服务。

A.可靠性和灵活性B.时间片轮转C.时间片加权分配D,短作业优先13. _______操作系统允许用户把若干个作业提交给计算机系统。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章进程同步与通信1)选择题(1)在操作系统中,P、V操作是一种_D__。

A. 机器指令B. 系统调用命令C. 作业控制命令D. 低级进程通信原语(2)若信号量S的初值为2,当前值为-1,则表示有_B__等待进程。

A. 0个B. l个C. 2个D. 3个(3)在直接通信方式中,系统提供两条通信原语进行发送和接收,其中Send原语中参数应是_C_。

A. sender,messageB. sender,mailboxC. receiver,messageD. receiver,mailbox(4)下述那个选项不是管程的组成部分_A__。

A. 管程外过程调用管程内数据结构的说明B. 管程内对数据结构进行操作的一组过程C. 局部于管程的共享数据说明D. 对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。

A. 消息通信B. 低级通信C. 管道通信D. 高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。

A. -1B. 0C. 1D. 任意值(7)临界区是_B__。

A. 一个缓冲区B. 一段程序C. 一段共享数据区D. 一个互斥资源(8)信箱通信是一种_D__通信方式。

A. 直接通信B. 信号量C. 低级通信D. 间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则__A_。

A. 表示有一个进程进入临界区B. 表示没有进程进入临界区C. 表示有一个进程进入临界区,另一个进程等待进入D. 表示有两个进程进入临界区(10)对信号量S执行V操作后,下述选项正确的是_C__。

A. 当S小于等于0时唤醒一个阻塞进程B. 当S小于0时唤醒一个阻塞进程C. 当S小于等于0时唤醒一个就绪进程D. 当S小于0时唤醒一个就绪进程(11)在消息缓冲通信中,消息队列属于_A__资源。

A. 临界B. 共享C. 永久D. 可剥夺(12)在消息缓冲通信机制中,使用的临界资源是_D__。

A. 信箱B. 消息队列中的某个缓冲区C. 管道D. 整个消息队列2)填空题(1)信号量的物理意义是:当信号量值大于0时表示可用资源的个数;当信号量值小于0时,其绝对值为等待该信号量的进程数。

(2)如果信号量的当前值为-4,则表示系统中在该信号量上有__4__ 个等待进程。

(3)对于信号量可以做 P 操作和 V 操作, P 操作用于阻塞进程, V 操作用于释放进程。

程序中的 P 和 V 操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。

(4)有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是 _[-(m-1),1]_ 。

(5)管程由局部于管程(资源对象)的共享变量的说明、对管程(资源对象)数据进行操作的一组过程和对局部于管程的数据设置初始值的语句三部分组成。

(6)访问临界资源的进程应该遵循的条件有:空闲让进、忙则等待、有限等待和让权等待。

(7)每个信箱可以包含信箱头和信箱体两部分。

(8)为了实现消息缓冲通信,在PCB中应增加的数据项有消息队列中消息资源的信号量、对消息队列互斥操作的信号量和指向消息队列的指针。

3)解答题(1)什么是临界资源什么是临界区对临界资源的访问有哪些原则答:一次仅允许一个进程使用的共享资源被称为临界资源。

每个进程中访问临界资源的那段程序称为临界区。

对临界资源的访问原则是:①空闲让进,如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。

②忙则等待,任何时候,处于临界区内的进程不可多于一个。

如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。

③有限等待,进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。

④让权等待,如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。

(2)请给出P、V操作的定义。

如何用P、V操作实现进程间的互斥解:P原语操作的动作是:①sem减1;②若sem减1后仍大于或等于零,则进程继续执行;③若sem减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。

V原语操作的动作是:①sem加1;②若相加结果大于零,则进程继续执行;③若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。

由于用于互斥的信号量sem与所有的并发进程有关,所以称之为公有信号量。

公有信号量的值反映了公有资源的数量。

只要把临界区置于P(sem)和V(sem)之间,即可实现进程间的互斥,sem的初值通常设置成1。

使用P、V操作实现进程互斥时应该注意的是:①每个程序中用户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。

若有多个分支,要认真检查其成对性。

②P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。

③互斥信号量的初值一般为1。

(3)请用P、V操作写出一个不会出现死锁的哲学家进餐问题的解解:至多只允许四个哲学家同时进餐,以保证至少有一个哲学家能够进餐,最终总会释放出他所使用过的两支筷子,从而可使更多的哲学家进餐。

以下将room 作为信号量,只允许4个哲学家同时进入餐厅就餐,这样就能保证至少有一个哲学家可以就餐,而申请进入餐厅的哲学家进入room 的等待队列,根据FIFO 的原则,总会进入到餐厅就餐,因此不会出现饿死和死锁的现象。

semaphore chopstick[5]={1,1,1,1,1};semaphore room=4;void philosopher(int i){while(true){think();wait(room); //请求进入房间进餐wait(chopstick[i]); //请求左手边的筷子wait(chopstick[(i+1)%5]); //请求右手边的筷子eat();signal(chopstick[(i+1)%5]); //释放右手边的筷子signal(chopstick[i]); //释放左手边的筷子signal(room); //退出房间释放信号量room}}(此题有多种解法。

)(4)高级进程通信方式有哪几类各自如何实现进程间通信答:高级进程通信方式可以分为三大类:共享存储器系统、消息传递系统以及管道通信系统。

在共享存储区系统中,进程通过共享内存中的存储区来实现通信。

在消息传递系统中,进程间的数据交换以消息为单位,程序员直接利用系统提供的一组通信命令(原语)来实现通信。

管道是用于连接读进程和写进程以实现它们之间通信的共享文件,向管道提供输入的发送进程(即写进程)以字符流形式将大量的数据送入管道,而接收管道输出的接收进程(即读进程)可以从管道中接收数据。

(5)设有6个进程P1、P2、P3、P4、P5、P6,它们有如图所示的并发关系。

试用P、V操作实现这些进程间的同步。

解:semaphore a,b,c,d,e,f=0,0,0,0,0,0;{cobeginP1;P2;P3;P4;P5;P6;coend}P1(){ P1;V(a);图六个合作进程的并发关系V(b); }P2(){ P(a);P2;V(c); }P3(){ P(b);P3;V(d); }P4(){ P(c);P4;V(e); }P5(){ P(d);P5;V(f); }P6(){ P(e);P(f);P6; }(6)有一个单向行驶的公路桥,每次只允许一辆汽车通过。

当汽车到达桥头时,若桥上无车,便可上桥;否则需等待,直到桥上的汽车下桥为止。

若每一辆汽车为一个进程,请用P、V操作保证汽车按要求过桥。

解:本题中使用一个信号量m用于互斥过河,因为每次允许一辆汽车通过,所以m初值为1。

semaphore m=1;main(){ cobeginpassi();coend}passi(){ P(m);Pass the river;V(m);}passi表示第i 辆汽车。

(7)有3个并发进程R、M、P,它们共享了一个可循环使用的缓冲区B,缓冲区B共有n个单元。

进程R负责从输入设备读信息,每读一个字符后,把它存入到缓冲区B的一个单元中;进程M负责处理读入的字符;进程P负责把处理后的字符取出并打印输出。

只有当缓冲区单元中的字符被进程P取出后,才又可用来存放下一次读入的字符。

请用P、V操作为同步机制写出它们能正确并发执行的程序。

解:semaphore buffer_number=n;semaphore char_number=0;semaphore man_number=0;main(){ cobeginR;M;P;coend }R(){ while (true){P(buffer_number);read a char to buffer;V(char_number);}}M(){ while (true){P(char_number);manipulate a char;V(man_number);}}P(){ while (true){P(man_number);print a char;V(buffer_number);}}(8)在生产者-消费者问题中,如果对调生产者描述中的两个P操作会发生什么情况如果对调生产者描述中的两个V操作的顺序又会发生什么情况答:在生产者-消费者问题中,如果将两个P操作位置对调,都可能引起死锁。

考虑系统中缓冲区全满前时,若一生产者进程先执行了P(mutex)操作并获得成功,当再执行P(empty)操作时,它将因失败而进入阻塞状态,它期待消费者执行V(empty)来唤醒自己。

在此之前,它不可能执行V(mutex)操作,从而使企图通过P(mutex)进入自己的临界区的其他生产者和所有的消费者进程全部进入阻塞状态,从而引起系统死锁。

类似地,消费者进程若先执行P(mutex),后执行P(full),同样可能造成死锁。

V(full)和V(mutex)互换位置,或者V(empty)和V(mutcx)互换位置,则不会引起死锁,其影响只是使临界资源的释放略为推迟一些。

(9)一个快餐厅有4 类职员:①领班:接受顾客点菜;②厨师:准备顾客的饭菜;③打包工:将做好的饭菜打包;④出纳员:收款并提交食品。

每个职员可被看作一个进程,试用一种同步机制写出能让四类职员正确并发运行的程序。

解:semaphore S1=1;// S1表示是否可以开始点菜semaphore S2=0;// S2表示是否可以开始做菜semaphore S3=0;// S3表示是否可以开始打包semaphore S4=0;// S4表示是否可以提交食品main(){ cobeginLB();CS();DBG();CNY();coend}LB(){ while(true){顾客到达;P(S1);接受顾客点菜;V(S2);} }CS(){ while(true){P(S2);准备顾客的饭菜;V(S3);} }DBG(){ while(true){P(S3);打包顾客的饭菜;V(S4);} }CNY(){ while(true){P(S4);收款并提交食品;V(S1);} }(10)设公共汽车上,司机和售票员的活动分别如下:①司机的活动:启动车辆:正常行车;到站停车。

相关文档
最新文档