操作系统习题集2012版

更新时间:2023-05-07 13:46:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

操作系统习题集

(2012版)

目录

第一章操作系统引论 (1)

1.选择题 (1)

第二章进程管理 (6)

1.选择题 (6)

2.应用题 (13)

进程同步问题 (13)

A. 生产者-消费者问题类 (13)

B. 读者-写者问题类 (56)

C. 哲学家进餐问题类 (66)

D. 其它互斥同步问题 (72)

第三章处理机调度与死锁 (99)

1.选择题 (99)

2.应用题 (104)

第四章存储器管理 (131)

1.选择题 (131)

2.应用题 (136)

第五章设备管理 (150)

1.选择题 (150)

2.应用题 (153)

第六章文件管理 (160)

1.选择题 (160)

2.应用题 (165)

第七章操作系统接口 (183)

1.选择题 (183)

i

第一章操作系统引论

(* 所标的题目超出教科书范围,可不看)

第一章操作系统引论

1.选择题

1.计算机操作系统的功能是。

A.把源程序代码转换为目标代码

B.实现计算机用户之间的相互交流

C.完成计算机硬件与软件之间的转换

D.控制、管理计算机系统的资源和程序的执行

2.操作系统是一组。

A.文件管理程序B.中断处理程序C.资源管理程序D.设备管理程序3.操作系统的功能是进行处理机管理、管理、设备管理、文件管理和作业管理等。

A.进程B.存储器C.硬件D.软件

4._________不是分时系统的特点。

A.多个用户是经过网络连接,同时使用计算机系统

B.各用户可同时请求系统服务

C.各用户的请求彼此独立,互不干扰

D.用户以会话方式控制自己的程序运行

5*.指令是非特权指令。

A.启动I/O B.设置中断屏敝C.传送PSW D.trap

6.“中断”的概念是指。

A.暂停处理机执行B.暂停处理机对现行程序的执行

C.停止整个系统运行D.使处理机空转

7.在的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应。

A.批处理操作系统B.实时操作系统

C.分时操作系统D.多处理机操作系统

8*.下列中断不属于强迫性中断的是。

A.传输结束B.断电

C.运行的程序请求分配一块内存D.目态程序执行特权指令

9*.计算机系统中设置的访管指令,执行。

A.只能在目态B.只能在管态

C.既可在目态又可在管态D.在目态和管态下都不能

10.操作系统为用户程序完成与的工作。

A.硬件无关和应用无关B.硬件相关和应用无关

C.硬件无关和应用相关D.硬件相关和应用相关

11*.Windows NT Server是一种。

A.单用户多进程系统B.多用户多进程系统

C.单用户单进程系统D.多用户单进程系统

12*.用户程序在目态下使用特权指令将引起的中断是属于。

1

第一章操作系统引论

A.硬件故障中断B.程序中断C.外部中断D.访管中断

13.分时操作系统的主要目的是。

A.计算机系统的交互性B.计算机系统的实时性

C.计算机系统的可靠性D.提高软件的运行速度

14.在操作系统中,用户界面指的是。

A.硬件接口、软件接口和操作环境B.命令接口、程序接口和操作环境

C.硬件接口、命令接口和操作环境D.硬件接口、命令接口和程序接口

15*.特权指令执行。

A.只能在目态下B.只能在管态下

C.在目态或管态下均能D.在目态或管态下均不能

16.下列管理功能中,不属于操作系统的功能。

A.处理器管理B.软件管理C.作业管理D.设备管理

17*.当CPU执行操作系统代码时,称处理机处于。

A.执行态B.目态C.管态D.就绪态

18.以下描述与操作系统无关的是。

A.方便用户的程序集合

B.控制和管理计算机系统的硬件和软件资源

C.计算机系统的硬件和软件资源的集合

D.合理地组织计算机工作流程

19.分时操作系统的特点是。

A.交互性、同时性(多路性)、独立性、及时性

B.可靠性、交互性、独立性、及时性

C.可靠性、交互性、独立性、及时性

D.交互性、同时性(多路性)、独立性、动态性

20.下列各项中,不是现代操作系统的主要特征。

A.并发性B.共享性C.确定性D.虚拟性

21.以下关于操作系统作用的叙述中,不正确的是。

A.管理系统资源B.控制程序执行

C.改善人机界面D.提高用户软件运行速度

22.从用户的观点看,操作系统是。

A.用户与计算机之间的接口

B.控制和管理计算机资源的软件

C.合理地组织计算机工作流程的软件

D.由若干层次的程序按一定的结构组成的有机体

23.操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。

A.网络B.分布式C.分时D.实时

24.若把操作系统看作计算机系统资源的管理者,下列的不属于操作系统管理的资源。

A.程序B.内存C.CPU D.中断

25.在下列操作系统的各个功能组成部分中,不需要硬件的支持。

A.进程调度B.时钟管理C.地址影射D.中断系统

26.在下列操作系统中,对响应时间要求最高的是。

2

第一章操作系统引论

A.批处理系统B.分时系统C.实时系统D.网络操作系统

27.对出现的中断事件是由进行处理的。

A.硬件B.操作系统C.用户程序D.解释程序

28*.命令应该只在核心态下执行。

A.读时钟日期

B.计算圆周率π

C.屏蔽所有中断

D.调用过程(procedure) 29.有关原语的说法中,是正确的。

A.原语是不可中断执行的用户过程B.原语是不可中断执行的操作系统过程

C.原语是可中断执行的用户过程D.原语是可中断执行的操作系统过程

30.原语应是。

A.操作系统中的一个函数

B.操作系统中的一个过程

C.操作系统中的一个执行不可中断的过程

D.操作系统中的一个执行可中断的函数

31.下面哪一项不是引入操作系统的主要目的是。

A.方便用户使用B.更有效地利用软、硬件资源

C.及时响应用户请求D.改善系统性能

32*.只能在核心态下执行的指令是。

A.读时钟日期B.屏蔽所有中断C.改变文件内容D.调用库函数

33*.Windows3.1是一个位的操作系统。

A.16 B.32 C.48 D.64

34.多道批处理系统的主要缺点是。

A.CPU利用率低B.不能并发执行C.缺少交互性D.以上都不是

35*.分布式计算机系统具备的基本功能是。

A.通信、并行计算、资源管理B.通信、并行计算、资源共享

C.并行计算、资源共享、存储器共享D.通信、并行计算、存储器共享

36*.在下列4个操作系统中,具有多道程序设计特点,但不是分时系统(多用户系统)。

A.OS/2 B.Windows 3.1 C.UNIX D.Windows NT

37*.下列关于Windows NT的说法中,是错误的。

A.Windows NT中的每一个进程都是对象,有些进程也是可以共享的资源

B.Windows NT中,进程是资源分配和处理机调度的基本单位

C.Windows NT 5.0就是Windows 2000

D.Windows NT的内核采用微内核的形式

38.多道程序设计是指。

A.在多台处理机上同时执行多道程序B.在多台处理机上同一时刻执行多道程序

C.在一台处理机上同时执行多道程序D.在一台处理机上同一时刻执行多道程序

39.从用户的观点看,操作系统是。

A.用户与计算机之间的接口B.控制和管理计算机系统的资源

C.合理组织计算机工作流程D.一个大型的工具软件

40.配置了操作系统的计算机是一台比原来的物理计算机功能更强大的计算机,这样的计算机只是一台逻辑上的计算机.称为计算机。

A.虚拟B.物理C.并行D.共享

41.操作系统是对进行管理的软件。

3

第一章操作系统引论

A.系统软件B.系统硬件C.计算机资源D.计算机程序

42*.多道批处理的发展是建立在硬件支持上的。

A.集成电路B.高速缓存C.通道和中断机构D.大容量硬盘43.批处理系统的主要缺点是。

A.CPU利用率低D.不能并发执行C.缺少交互性D.以上都不是44.如果分时系统的时间片一定,那么,则响应时间越长。

A.内存越大B.内存越少C.用户数越少D.用户数越多

45 分时操作系统通常采用策略为用户服务。

A.先来先服务B.短作业优先C.时间片轮转D.最高响应比46.在下列性质中,哪一个不是分时系统的特征。

A.多路性B.交互性C.独占性D.成批性

47.在操作系统的控制下,计算机系统能及时处理由过程控制反馈的数据并作出响应。

A.批处理B.分时C.实时D.网络

48.设计实时操作系统时,首先要考虑系统的。

A.实时性和可靠性B.实时性和灵活性C.灵活性和可靠性D.灵活性和可移植性49.UNIX操作系统是一种多用户的、人机交互的。

A.多道批处理系统B.实时系统C.分时系统D.分布式系统

50*.主要由于原因,使UNIX易于移植。

A、UNIX是由机器指令书写的

B、UNIX大部分由汇编少部分用C语言编写

C、UNIX是用汇编语言编写的

D、UNIX小部分由汇编大部分用C语言编写51.操作系统在计算机系统中处于之间的位置。

A.计算机硬件和软件B.计算机硬件和用户

C.处理机和用户D.外部设备和处理机

52.实时操作系统必须在的时间内响应一个新任务。

A.一个机器周期B.被控对象规定C.任意周期D.时间片

53.在操作系统中,部分属于微内核。

A.作业调度软件B.用户命令解释程序

C.磁盘文件目录管理软件D.进程通信服务例程

54.批处理系统的主要缺点是。

A.CPU利用率低B.外部设备利用率低

C.不能并发执行D.缺少交互性

55.操作系统提供给用户程序的接口是。

A.命令解释程序B.系统调用C.P、V操作D.对话框

56.分时系统响应时间与有关。

A.每个应用进程分配的时间片长度B.进程大小

C.就绪进程数目D.就绪进程数目和时间片长度

57.下列选项中,不属于操作系统提供给用户的可使用资源。

A.中断机制B.处理机C.存储器D.I/O设备

58.操作系统的最主要设计目标是___________。

A.方便性和有效性B.方便性和可扩展性

C.有效性和可扩展性D.有效性和开放性

4

第一章操作系统引论

59.操作系统的两个最主要的特征是。

A.并发性和虚拟性B.并发性和共享性

C.共享性和异步性D.共享性和虚拟性

60.下面各项中,不是操作系统的基本特征。

A.并发和共享B.虚拟C.交互性D.异步

61.下列选项中,在用户态执行的是。(2011全国试题)

A.命令解释程序B.缺页处理程序

C.进程调度程序D.时钟中断处理程序

62.下列选项中,不可能在用户态发生的事件是。(2012全国试题)

A.系统调用B.外部中断C.进程切换D.缺页

63.中断处理和子程序调用都需要压栈以保护现场,中断处理一定要保存而子程序调用不需要保存其内容的是。(2012全国试题)

A.程序计数器B.程序状态字寄存器

C.通用数据寄存器D.通用地址寄存器

第一章操作系统引论选择题参考答案:

1.D 2.C 3.B 4.A 5.D 6.B 7.B 8.C 9.C 10.B 11.B 12.B 13.A 14.B 15.B 16.B 17.C 18.C 19.A 20.C 21.D 22.A 23.C 24.D 25.A 26.C 27.B 28.C 29.B 30.C 31.C 32.AB 33.A 34.C 35.AB 36.B 37.B 38.C 39.A 40.A 41.C 42.C 43.C 44.D 45.C 46.D 47.C 48.A 49.C 50.D 51.B 52.B 53.D 54.D 55.B 56.D 57.A 58.A 59.B 60.C 61.A 62.C 63.B

5

第二章进程管理

第二章进程管理

1.选择题

1.有关进程的下列叙述中,是正确的。

A.进程是静态的文本B.进程与程序是一一对应的

C.进程与作业是一一对应的D.多个进程可以在单个CPU上同时执行

2.进程之间的制约关系可以归结为。

A.同步与互斥B.并发与异步C.同步与并发D.同步与异步

3.下列的进程状态变化中,的变化是不可能发生的。

A.运行→就绪B.运行→等待C.等待→运行D.等待→就绪

4.进程和程序的本质区别是。

A.存储在内存和外存B.顺序和非顺序执行机器指令

C.分时使用和独占使用计算机资源D.动态和静态特征

5.某进程所要求的一次打印输出结束,该进程被唤醒,其进程状态将从。

A.就绪状态到运行状态B.等待状态到就绪状态

C.运行状态到等待状态D.运行状态到就绪状态

6.进程调度是从选择一个进程投入运行。

A.就绪队列B.等待队列C.作业后备队列D.提交队列

7.下列叙述中,正确的叙述是。

A.实现多道程序设计的目的是提高程序员编程的效率

B.在有虚拟存储器的系统中,可以运行比主存容量还大的程序

C.操作系统的目的是为了提高计算精度

D.操作系统必须具备分时系统

8.已获得除CPU以外的所有所需资源的进程处于状态。

A.运行B.就绪C.自由D.等待

9.进程具有并发性和两大重要属性。

A.动态性B.静态性C.易用性D.封闭性

10.两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种关系称为进程间的。

A.同步B.互斥C.竞争D.合作

11.在多道程序系统中,为了保证公共变量的完整性,各进程应互斥进入相关临界区。所谓临界区是指。

A.一个缓冲区B.一段数据区C.同步机制D.一段程序

12.一个进程是。

A.由协处理器执行的一个程序B.一个独立的程序+ 数据集

C.PCB结构、程序和数据的集合D.一个独立的程序

13.多道程序系统中的操作系统分配资源以为基本单位。

A.程序B.进程C.作业D.用户

14.进程从等待状态转到就绪状态的原因可能是。

A.请求I/O B.I/O完成

C.被进程调度程序选中D.另一个进程运行结束

15.采用多道程序设计能。

6

第二章进程管理

A.增加平均周转时间B.发挥并提高并行工作能力

C.缩短每道程序的执行时间D.降低对处理器调度的要求

16.某个进程从等待状态进入就绪状态可能是由于。

A.现运行进程执行了启动I/O指令B.现运行进程执行了P操作

C.现运行进程执行了V操作D.现运行进程时间片用完

17.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为。

A.SPOOLing技术B.虚拟存储技术

C.缓冲技术D.多道程序设计技术

18.多道程序的引入主要是为了。

A.提高CPU的速度B.提高内存的存取速度

C.提高计算机的使用效率D.减少CPU处理作业时间

19.多道程序系统中,当时,进程从执行状态转变为就绪状态。

A.进程被进程调度程序选中B.时间片到

C.等待某一事件D.等待的事件发生

20.并发进程相互之间。

A.必须通信B.可以有交往也可无关

C.一定会竞争共享资源D.相互间一定要同步

21.下列选项中,导致创建新进程的操作是。(2010全国试题)

I.用户登录成功II.设备分配III.启动程序执行

A.仅I和II B.仅II和III C.仅I和III D.I、II和III

22.若信号量S的初值为2,当前值为-1,则表示有个等待进程。

A.0 B.1 C.2 D.3

23.设与某资源关联的信号量初值为3,当前值为1。若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是。(2010全国试题)

A.0、1 B.1、0 C.1、2 D.2、0

24.操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列的条件是。

A.S≠0 B.S<0 C.S=0 D.S>0

25.为了使两个进程能同步运行,最少需要个信号量。

A.1 B.2 C.3 D.4

26.下面叙述中正确的是。

A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同

B.为了避免发生死锁,各进程只能逐个申请资源

C.操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状态有关的信息

D.进程同步是指某些进程之间在逻辑上的相互制约关系

27.信箱通信是一种通信方式。

A.直接B.间接C.低级D.信号量

28.进程控制块记录了进程执行时的情况,它的内容可由进行修改。

A.操作系统B.进程自己C.中断装置D.用户

29.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,下列选项中,不是引起操作系统选择新进程的直接原因。

A.运行进程的时间片用完B.运行进程出错

C.运行进程要等待某一时件发生D.有新进程进入就绪状态

30.并发性是指若干事件在发生。

A.同一时刻B.同一时间间隔内C.不同时刻D.不同时间间隔内31.有关PV操作的说法中是错误的。

7

第二章进程管理

A.“PV操作不仅是进程互斥的有效工具,而且是简单方便的同步工具”

B.“PV操作不能实现进程间通信”

C.“进程调用P操作测试自己所需的消息是否到达”

D.“进程调用V操作向其它进程发送消息”

32.使若干并发进程共享一临界资源而不发生与进程推进速度有关错误,涉及相关临界区的错误说法是。

A.“一次最多让一个进程在临界区执行”

B.“任何一个进入临界区执行的进程必须在有限时间内退出临界区”

C.“可以强迫一个进程无限地等待进入它的临界区”

D.“可能没有任何进程在临界区执行”

33.通常,用户进程被建立后,。

A.便一直存在于系统中,直到被操作人员撤消

B.随着程序运行正常或异常结束而撤消

C.随着时间片轮转而撤消与建立

D.随着进程的阻塞或唤醒而撤消与建立

34.有关并发进程相互之间的关系,正确的说法是。

A.肯定是无关的B.肯定是有交往的

C.可能是无关的,也可能是有交往的D.一定要互斥执行

35.当一个进程就要退出等待队列而进入就绪队列。

A.启动了外设B.用完了规定的时间片

C.获得了所等待的资源D.能得到所等待的处理器

36.有n个并发进程竞争必须互斥使用的共享资源时,若某进程调用P操作后成为第一个等待使用该资源者,则这时信号量的值为。

A.0 B.1 C.-1 D.n-1

37.在同一系统中,假设同时存在为两个相互独立的C++源程序进行编译的两个进程(它们使用同一个编译程序),它们之间的关系正确的是:。

A.它们可以并发执行,两者逻辑上有依赖关系

B.它们可以并发执行,两者逻辑上无依赖关系

C.它们不可以并发执行,但两者逻辑上有依赖关系

D.它们不可以并发执行,因为两个进程运行的是同一个编译程序

38.S.queue、S.value是信号量S的两个组成部分,当S.queue为空时,S.value的值是。

A、S.value≤0

B、S.value=0

C、S.value=1

D、Svalue≥0

39.设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是。

A、1,0,-1,-2

B、2,0,-1,-2

C、1,0,-1

D、3,2,1,0

40.临界区是指并发进程中访问共享变量的段。

A、管理信息

B、信息存储

C、数据

D、程序

41.如下参数中,不能用于进程间通信的是。

A.消息B.信件C.信号量D.口令

42.当输入输出操作正常结束时,操作系统将请求该操作的进程的状态设置成。

A.等待状态B.运行状态C.就绪状态D.挂起状态

43.对具有相关临界区的n个并发进程采用P、V操作实现进程互斥时,信号量的初值应定义为。

A.0 B.1 C.n D.n-1

44.多个进程间可通过P、V操作交换信息实现进程同步和互斥,因此信号量机制是进程间的一种_________通信方式。

8

第二章进程管理

A.高级B.低级C.消息缓冲D.间接

45.属于进程通信原语的有。

A.P操作原语B.V操作原语C.创建进程原语D.send原语

46.涉及PV操作的正确说法是。

A.PV操作只能解决进程互斥问题

B.PV操作只能解决进程同步问题

C.PV操作能用于解决进程互斥问题,也能解决进程同步问题

D.PV操作是一种高级通信方式

47.并发进程执行时可能会出现与时间有关的错误,这种错误是与无关的。

A.使用共享资源B.进程被打断的时间

C.进程占用处理器的总时间D.进程交替执行的次序

48.设有

当进程P1,P2,P3,P4又都相继提出申请要求,为使系统不致死锁,应满足的要求。

A.P1 B.P2 C.P3 D.P4

49.进程控制块中的现场信息是在保存的。

A.创建进程时B.处理器执行指令时

C.中断源申请中断时D.中断处理程序处理中断前

50.采用的手段可以防止系统出现死锁。

A.PV操作管理临界资源B.限制进程互斥使用临界资源

C.资源静态分配策略D.定时运行死锁检测程序

51.进程所请求的一次打印输出结束后,将使该进程状态从。

A.运行态变为就绪态B.运行态变为等待态

C.就绪态变为运行态D.等待态变为就绪态

52*.线程是操作系统的重要概念,不具有线程管理的操作系统有。

A.Windows 3.2 B.Linux C.Windows NT D.Windows XP

53.进程从就绪状态进入运行状态的原因可能是。

A.等待某一事件B.被选中占有处理器

C.时间片用完D.等待的事件已发生

54.操作系统中,资源分配的基本单位是。

A.进程B.线程C.作业D.程序

55*.构成网络操作系统通信机制的是。

A.进程B.线程C.通信原语D.对象

56.某计算机系统中若同时存在5个进程,则处于等待状态的进程最多可有个。

A.0 B.1 C.4 D.5

57.若系统中有5个并发进程涉及某个相同的变量A,则变量A的相关临界区是由临界区构成。

A.2个B.3个C.4个D.5个

58.在下述进程状态的转换中,是不可能的。

A.运行态→就绪态B.运行态→等待态

C.等待态→就绪态D.就绪态→等待态

59.若P、V操作的信号量S的初值为3,当前值为-1,则表示在S上有个等待进程。

9

第二章进程管理

A.0 B.1 C.2 D.3

60.以下叙述中,正确的是。

A.进程调度原语主要是按一定的算法,从阻塞队列中选择一个进程,将处理机分配给它。

B.预防死锁发生可通过破坏死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。

C.采用信号量同步机制的系统,进程进入临界区时要执行V原语

D.既考虑作业的等待时间,又考虑作业执行时间的调度算法称为电梯调度算法。

61.设有n个进程使用同一个共享变量,如果最多允许m(m < n)个进程同时进入相关临界区,则信号量的变化范围是。

A.n,n-1,...,n-m B.m,m-1,...1,0,-1,...m-n

C.m,m-1,...1,0,-1,...m-n-1 D.m,m-1,...1,0,-1,...m-n+1

62.对于有两个并发进程的系统,设互斥信号量为mutex,若mutex=0,则。

A.表示没有进程进入与mutex相关的临界区

B.表示有一个进程进入与mutex相关的临界区

C.表示有一个进程进入与mutex相关的临界区,另一个进程等待进入

D.表示有两个进程进入与mutex相关的临界区

63.在进程管理中,当时,进程从运行状态变为就绪状态。

A.时间片用完B.被进程调度程序选中

C.等待某一事件发生D.等待的事件发生

64.下列因素中,不一定是引起进程调度的因素。

A.一个进程运行完毕B.运行进程被阻塞

C.一个高优先级进程被创建D.实时调度中,一个紧迫的任务到来

65.当一个进程正等待着时,称其为等待状态。

A.合作进程的一个消息B.分配给它一个时间片

C.调度程序选中它D.进入内存

66.若进程P一旦被唤醒就能投入运行,则系统可能是。

A.非抢占式调度方式,进程P的优先级最高

B.抢占式调度方式,就绪队列上的所有进程的优先级皆比P低

C.就绪队列为空队列

D.抢占式调度方式,P的优先级高于当前运行的进程

67.单CPU系统中,关于进程的叙述正确的是。

A.一个处于等待状态的进程一旦分配了CPU,即进入运行状态

B.只能有一个进程处于就绪状态

C.一个进程可以同时处于就绪状态和等待状态

D.最多只有一个进程处于运行状态

68.下列有关PV操作和死锁的叙述中,正确的是。

A.V操作可能引起死锁B.P操作不会引起死锁

C.使用PV操作不会引起死锁D.以上说法均不正确

69.在分时系统中,下列描述中,不属于相应时间的一部分。

A.处理机对请求信息进行处理的时间

B.从键盘输入的请求信息传送到处理机的时间

C.请求信息在外存队列上排队等待的时间

D.所形成的响应回送到终端显示器的时间

70.在具有挂起状态的系统中,若当前内存空间高度吃紧,系统将使一个正在等待I/O的进程进入__________状态。

A.活动就绪B.静止就绪C.活动阻塞D.静止阻塞

10

第二章进程管理

71.下列说法中,正确的是。

A.一般来说,用户进程的PCB存放在用户区,系统进程的PCB存放在系统区

B.某进程的一个线程处于阻塞状态,则该进程必然处于阻塞状态

C.在多道程序设计环境中,为了提高CPU效率,内存中的进程越多越好

D.同步是指并发进程之间存在的一种制约关系

72.在下述关于父进程和子进程的叙述中,正确的是。

A.父进程创建了子进程,因此父进程执行完了,子进程才能运行

B.子进程执行完了,父进程才能运行

C.撤消子进程时,应该同时撤消父进程

D.撤消父进程时,应该同时撤消子进程

73.多道程序设计能充分发挥之间的并行工作能力。

A.CPU与外设B.进程与进程C.内存与进程D.内存与外设

74.在有m个进程的系统中出现死锁时,死锁进程的个数k应满足的条件是。

A.k≥2 B.1<k<m C.1<k≤m D.k≥1

75.在一个单处理机系统中,若有4个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程至少有个。

A.0 B.1 C.2 D.3

76.有甲、乙两道算题,每道需执行1小时(其中处理器的工作时间为12分钟)。若它们在多道系统中执行,甲、乙两道题总共需执行80分钟,则处理器的利用率为。

A.50% B.40% C.30% D.20%

77.下面的描述中,是错误的。

A.进程执行的相对速度不能有进程自己来控制

B.P、V操作是原语操作

C.利用信号量的P、V操作可以交换大量信息

D.同步是指并发进程之间次年在的一种制约关系

78.当输入输出操作正常结束时,操作系统将请求该操作的进程的状态设置成。

A.等待状态B.运行状态C.就绪状态D.挂起状态

79.如果单CPU系统中有n个并发进程,则就绪队列中进程个数最多可达个。

A.n B.n-1 C.n-2 D.1

80.一个进程的基本状态可以从其它两种基本状态转变过去,这个基本状态一定是。

A.执行状态B.阻塞状态C.就绪状态D.完成状态

81.当进程A使用磁带机时,进程B又申请磁带机,这种情况。

A.是不可能出现的B.是没法解决的C.就是死锁D.以上均不正确

82.进程具有的特性包括:。

①动态性②共享性③并发性④相互制约性⑤独立性⑥静态性

A.①③④⑤B.①②④⑤C.②④⑤⑥D.①②④⑥

83.在引入线程的操作系统中,把作为调度和分派的基本单位,而把作为资源拥有的基本单位。

A.进程线程B.程序线程C.程序进程D.线程进程

84.S为死锁状态的充要条件是,该充要条件称为死锁定理。

A.当且仅当S状态的资源分配图是可完全简化的

B.当且仅当S状态的资源转换图是不可完全简化的

C.当且仅当S状态的资源分配图是不可完全简化的

D.当且仅当S状态的资源转换图是可完全简化的

85.现有3个同时到达的作业J1、J2、J3,它们的执行时间分别为T1、T2和T3,且T1

11

第二章 进程管理

12

道方式运行且采用短作业优先算法,则平均周转时间为 。 A .T1+T2+T3 B .(T1+T2+T3)/3 C .(3T1+2T2+T3)/3 D .(T1+2T2+3T3)/3 86.进程P0和P1的共享变量定义及其初值为:

boolean flag[2]; int turn=0;

flag[0]=FALASE; flag[1]=FALSE;

若进程P0和P1访问临界资源的类C 伪代码实现如下:

则并发执行进程P0和P1时产生的情形是 。(2010全国试题) A .不能保证进程互斥进入临界区,会出现“饿死”现象 B .不能保证进程互斥进入临界区,不会出现“饿死”现象 C .能保证进程互斥进入临界区,会出现“饿死”现象 D .能保证进程互斥进入临界区,不会出现“饿死”现象 87.在支持多线程的系统中,进程P 创建的若干线程不.能共享的是 。(2011全国试题) A .进程P 的代码段 B .进程P 中打开的文件

C .进程P 的全局变量

D .进程P 中某线程的栈指针

88.有两个并发进程P1和P2,共享初值为1的变量x 。P1对x 加1,P2对x 减1。加1和减1操作的指令序列分

别如下所示。

//加1操作 load R1, x //取x 到寄存器R1中

inc R1 store x, R1 //将R1的内容存入x

//减1操作

load R2, x dec R2

store x, R2 两个操作完成后,x 的值 。(2011全国试题) A .可能为-1或3 B .只能为1 C .可能为0、1或2 D .可能为-1、0、1或2 89.下列关于进程和线程的叙述中,正确的是 。(2012全国试题)

A .不管系统是否支持线程,进程都是资源分配的基本单位

B .线程是资源分配的基本单位,进程是调度的基本单位

C .系统级线程和用户级线程的切换都需要内核的支持

D .同一进程的各个线程拥有各自不同的地址空间

第二章进程管理选择题参考答案:

1.D 2.A 3.C 4.D 5.B 6.A 7.B 8.B 9.A 10.A 11.D 12.C 13.B 14.B 15.B 16.C 17.D 18.C 19.B 20.B 21.C 22.B 23.B 24.B 25.B 26.D 27.B 28.A 29.D 30.B 31.B 32.C 33.B 34.C 35.C 36.C 37.B 38.D 39.A 40.D 41.D

42.C 43.B 44.B 45.C 46.C

47.C 48.A 49.D 50.C

第二章进程管理

51.D 52.A 53.B 54.A 55.C 56.C 57.D 58.D 59.B 60.B 61.B 62.B 63.A 64.C 65.A 66.D 67.D 68.D 69.C 70.D 71.D 72.D 73.A 74.B 75.A 76.C 77.C 78.C 79.B 80.C 81.D 82.A 83.D 84.C 85.C 86.D 87.D 88.C 89.A

2.应用题

1.若进程Pa、Pb和Pc单独执行时间分别是1小时、1.5小时和2小时,其中处理机工作时间分别为10分钟、15分钟和35分钟。如果采用多道程序设计方法,让Pa、Pb和Pc并行工作,假定处理机利用率达到50%,请问系统效率能提高百分之几?

答:Ta、Tb和Tc并行工作共用CPU时间为:

(10+15+35)/50%=120 (分钟)

单道方式执行时总时间为60+90+120=270分钟

故系统效率提高:(270-120)/270*100%=55.6%

进程同步问题

A. 生产者-消费者问题类

1.(西北工大2000年试题)由三个进程get,copy和put以及两个缓冲区buffer1和buffer2完成一项输入/输

出操作。进程get的功能是把一张卡片上的信息从读卡机上读进buffer1;进程copy的功能是把buffer1中的信息复制到buffer2;进程put的功能是取出buffer2中的信息并从打印机上打印输出。试用P、V操作完成这三个进程间的尽可能并发正确执行的关系(用程序或框图表示),并指明信号量的作用和初值。

解:可设置6个信号量mutex1,mutex2,empty1,empty2,full1,full2。其中:

mutex1和mutex2是互斥信号量,初值为1,分别用于对buffer1和buffer2的互斥访问;

empty1和empty2为同步信号量,初值为1,分别表示buffer1和buffer2是否空闲,1表示空闲,0表示不空闲;

full1和full2为同步信号量,初值为0,分别表示buffer1和buffer2中是否有可取用的信息,1表示有可取用的信息,0表示无可取用的信息。

semaphore mutex1, mutex2, empty1, empty2, full1, full2 ;

mutex1=mutex2=1; //互斥信号量

empty1=empty2=1; //生产者进程的同步信号量

full1=full2=0; //消费者进程的同步信号量

parbegin

process get( ) //读进程(生产者进程)

{

while (1) {

从读卡机读入一张卡片的信息;

P(empty1) //看看buffer1是否空闲

P(mutex1); //互斥访问buffer1

将信息放入buffer1;

V(mutex1);

V(full1); //通知进程copy,buffer1中已有信息科取(若copy正在等待,则唤醒之)

13

第二章进程管理

}

}

process copy( ) //复制进程(既是消费者又是生产者进程)

{

while (1) {

P(full1) //看看buffer1是否有信息可取

P(mutex1); //互斥访问buffer1

从buffer1中复制出信息;

V(mutex1);

V(emtpy1); //通知get,buffer1中的信息已取走(可能唤醒get)

P(empty2); //看看buffer2是否空闲

P(mutex2); //互斥访问buffer2

将复制的信息放入buffer2;

V(mutex2);

V(full2); //通知put,buffer2中已有信息

}

}

process put( ) //输出进程(消费者进程)

{

while (1) {

P(full2); //测试buffer2中是否有信息

P(mutex2); //互斥访问buffer2

从buffer2中取出信息;

V(mutex2);

V(empty2); //通知copy,buffer2中的信息已取走

}

}

parend

【讨论】由于本题中对于两个缓冲区buffer1和buffer2来说,都只有一个生产者和一个消费者,因此互斥信号量mutex1和mutex2实际上是可以省去的。

以下第2、3、4题实际上与本题是同一道题。

2.(北京大学1990年试题)有三个进程PA、PB和PC协作解决文件打印问题:PA将文件记录从磁盘读入主

存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的记录复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小和一个记录大小一样。试用P、V操作来保证文件的正确打印。

解:BEGIN

semaphore mutex1,mutex2,avail1,avail2,full1,full2;

mutex1 := 1;mutex2 := 1;{实际上mutex1,mutex2可以省去}

avail1 := 1;avail2 := 1;

full1 := 0;full2 := 0;

PARBEGIN

PA:BEGIN

L1:read from disk;

P(avail1);

P(mutex1);

14

第二章进程管理

put to buffer 1;

V(full1);

V(mutex1);

goto L1;

END

PB:BEGIN

L2:P(full1);

P(mutex1);

get from buffer 1;

V(avail1);

V(mutex1);

P(avail2);

P(mutex2);

put to buffer 2;

V(full2);

V(mutex2);

goto L2 ;

END

PC:BEGIN

L3:P(full2);

P(mutex2);

get from buffer 2;

V(avail2);

V(mutex2);

print RECORD

goto L3 ;

END

PAREND

END

3.有三个进程,Reader进程读入数据number1,将其放入缓冲器B1,Executor进程将B1中数据取出,处

理成数据number2,将其放入缓冲器B2,Printer进程将number2数据取出打印,假设B1和B2只能存放一个数据,用P、V操作管理这三个进程的执行。

解:解:采用P、V操作的同步算法如下:

BEGIN

semaphore empty1, full1, empty2, full2 ;

empty1.vale = empty2.value = 1 ;

ful2.value = full2.value = 0 ;

PARBEGIN

Reader:BEGIN

L1:read number1 ;

P(empty1) ;

B1=number1 ;

V(full1) ;

goto L1;

15

第二章进程管理

END

Executor:BEGIN

L2:P(full1) ;

take number1 from B1 ;

V(empty1) ;

Process number1-->number2 ;

P(empty2) ;

B2=number2 ;

V(full2) ;

goto L2;

END

Printer:BEGIN

L3:P(full2);

take number2 from B2 ;

V(empty2) ;

Print(number2) ;

goto L3;

END

COEND

END

4.假定系统有三个并发进程read, move和print共享缓冲器B1和B2。进程read负责从输入设备上读信息,

每读出一个记录后把它存放到缓冲器B1中。进程move从缓冲器B1中取出一记录,加工后存入缓冲器B2。进程print将B2中的记录取出打印输出。缓冲器B1和B2每次只能存放一个记录。要求三个进程协调完成任务,使打印出来的与读入的记录的个数,次序完全一样。请用PV操作,写出它们的并发程序。(注:本题与第3题是同一个题,与第5题类似)

解:参考程序如下:

begin

SR, SM1, SM2, SP: semaphore;

B1, B2 : record;

SR:=1; SM1:=0; SM2=1; SP:=0;

cobegin

process read

X : recoed;

begin

R: X:=从输入设备上读入的一个记录;

P(SR);

B1:=X;

V(SM1);

goto R;

end;

process move

Y : record;

begin

M: P(SM1);

Y :=B1;

16

第二章进程管理

V(SR);

加工Y中的记录;

P(SM2);

B2 := Y;

V(SP);

goto M;

end;

process print

Z : record;

begin

P: P(SP);

Z := B2;

V(SM2);

打印Z中的记录;

goto P;

end;

coend;

end;

5.今有3个并发进程R、M、P,它们共享一个缓冲器B。进程R负责从输入设备读入信息,每读一个记

录后把它存放在缓冲器B中。进程M在缓冲器B中加工进程R存入的记录。进程P把加工后的记录打印出来。缓冲器B中每次只能存放一个记录,当记录被加工输出后,缓冲器B中又可以存放一个新的记录。为协调它们的工作,采用PV操作进行管理。

解:semaphore SR,SM,SP;

SR=1; SM=0; SP=0;

parbegin

Process R

{

while (1) {

从输入设备读入信息X;

P(SR); //看看缓冲区B是否是空的

B=X; //信息存入缓冲区B

V(SM); //通知M,缓冲区B中已有记录

}

}

Process M

{

while (1) {

P(SM); //测试R是否已在B中存放信息

在缓冲器B中加工进程R存入的记录;

V(SP); //通知P缓冲区B中的信息已可打印

}

}

Process P

{

while (1) {

17

第二章进程管理

P(SP); //测试M是否已将信息加工好

从B中取M加工后的信息Y;

V(SR); //通知R,缓冲区B已可房信息

Print(Y); //打印信息Y

}

}

parend

6.若一只盘子一次只能放一个水果,A只往盘中放苹果,B只往盘中放梨子,C只从盘中取苹果,D只

从盘中取梨子。试用:(1) 信号量和P、V操作;(2) 管程,写出同步算法。

解:(1) 采用P、V操作的同步算法如下:

semaphore SAB=1; //A、B的资源信号量,同时又是它们的互斥信号量

semaphore SC=0; //C的资源信号量(用于与A同步)

semaphore SD=0; //D的资源信号量(用于与B同步)

begin

parbegin

process A: //进程A的算法描述

{

while(true) {

取一个苹果;

wait(SAB); //测试盘子是否为空

将一苹果放入盘中;

signal(SC) //通知C盘中已有苹果(可能唤醒C)

}

}

process C:

{

while(true) {

wait(SC); //测试盘子是否有苹果

从盘中取出苹果;

signal(SAB); //通知A(或B)盘子一空(可能唤醒A或B)

消费该苹果;

}

}

process B: //进程B的算法描述

{

while(true) {

取一个梨子;

wait(SAB); //测试盘子是否为空

将一梨子放入盘中;

signal(SD) //通知D盘中已有梨子(可能唤醒D)

}

}

process D:

{

while(true) {

18

第二章进程管理

wait(SD); //测试盘子是否有梨子

从盘中取出梨子;

signal(SAB); //通知A(或B)盘子一空(可能唤醒A或B)

消费该梨子;

}

}

parend

end

(2) 采用管程的同步算法如下:

首先定义管程MPC,该管程可描述如下:

type MPC=monitor

var flag: integer; //flag=0:盘中无水果;=1盘中有苹果;=2盘中有梨子

empty: condition; //用于A或B等待空盘子

W: array[1..2] of condition //W[1]用于等待苹果,W[2]用于等待梨子

procedure entry put(integer k)

begin

if flag>0 then empty.wait; //生产者A或B进程阻塞

flag=k;

放一k号水果入盘中; //设1号水果为苹果,2号水果为梨子

if W[k].queue then full.signal; //若有等待k号水果者,则唤醒之

end

procedure entry get(integer k)

begin

if flag<>k then W[k].wait; //消费者C或D进程阻塞

从盘中取k号水果;

flag := 0;

if empty.queue then empty.signal; //若等待队列非空,则唤醒队首的一个生产者进程end

begin

flag :=0; //初始化内部数据

end

A、B、C、D四个进程的同步算法可描述如下:

parbegin

Process A

begin

任取一个苹果;

MPC.put(1);

end

Process B

begin

任取一个梨子;

MPC.put(2);

end

Process C

begin

19

第二章进程管理

MPC.get(1);

吃苹果;

end

Process D

begin

MPC.get(2);

吃梨子;

end

parend

7.设自行车生产车间有两个货架,货架A可以存放8个车架,货架B可以存放20个车轮;又设有4个工人,

他们的活动是重复劳动,分别为:工人1 加工一个车架放入货架A中;工人2、3分别加工车轮放入货架B中(每人每次放入1个车轮);工人4从货架A中取一个车架,再从货架B中取两个车轮,组装成一辆自行车。试用PV操作实现四个工人的合作。

【分析】信号量Aempty表示货架A的空位数,其初值为8;信号量Afull表示货架A上存放的车架数,其初值为0;信号量Bempty表示货架B的空位数,其初值为20;信号量Bfull表示货架B上存放的车轮数,其初值为0;信号量mutex用于互斥(初值为1)。

解:BEGIN

semaphore Aempty,Bempty,Afull,Bfull,mutex;

Aempty := 8;Bempty := 20;Afull := 0;Bfull := 0;mutex :=1;

PARBEGIN

Worker1:BEGIN

L1:生产1个车架;

P(Aempty);//测试货架A是否有空位置

P(mutex);//互斥使用货架A

车架放到货架A;

V(Afull);//货架A上的车架数增1,必要时唤醒等待的进程

V(mutex);

goto L1;

END

Worker2、3:BEGIN

L2:生产1个车轮;

P(Bempty);//测试货架B是否有空位置

P(mutex);//互斥使用货架B

车轮放到货架B;

V(Bfull);//货架B上的车轮数增1,必要时唤醒等待的进程

V(mutex);

goto L2;

END

Worker4:BEGIN

L3:P(Afull);//测试货架A上是否有车架

P(Bfull);P(Bfull);//测试货架B上是否有2个车轮

P(mutex);

取1个车架;取2个车轮;

V(Aempty);//货架A空位置增1

V(Bempty);V(Bempty);//货架B空位置增2

20

本文来源:https://www.bwwdw.com/article/rgde.html

Top