2024年2月26日发(作者:)

操作系统练习题集2

1填空题

1. 与顺序执行时相比,程序并发执行产生了一些新特征,分别是: ① 、 ② 和

③ 。

3. 进程是一个 ① 态的概念,程序是一个 ② 态的概念。

4. 操作系统中,可以并行工作的基本单位是 ① ,它是由程序、 ② 和 ③ 组成的。

5. 进程存在的唯一标志是 ① 的存在。当系统创建一个进程时,系统为其建立一个 ② ,当进程被撤消时系统就将其收回。

6. 进程有三种基本状态,即 (1) ① 状态、(2) ② 状态、(3) ③ 状态。当进程由 (1) 变换到 (2) 或 (3) 时,就会立即引起 ④ 。

7. 在操作系统中,不可中断执行的操作称为 ① 。

8. 并发进程之间的基本关系是 ① 或 ② 。其中 ③ 是指进程之间的一种间接关系。

9. 临界资源是指 ① ,而临界区是指 ② 。

10. 在并发进程中,访问 ① 的代码段称为临界区。为保证进程 ② ,应在进程的临界区前设置 ③ ,在临界区后设置 ④ 。

11. P,V操作原语是在 ① 上操作的。

12. 信号量的物理意义是:当信号量的值大于零时,表示 ① l;当信号量值小于零时,其绝对值为 ② 。

13. 有n个进程共享同一个临界区,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是 ① 。

14. 如果系统中有n个进程,则在等待 (阻塞) 队列中进程的个数最多可为 ① 个。

15.系统有n (n>2) 个进程,且当前不再执行进程调度程序,访问下述情况中, ① 是不可能发生的。

(1) 有一个运行进程,没有就绪进程,n-1个进程处于阻塞状态。

(2) 有一个运行进程,有一个就绪进程,n-2个进程处于阻塞状态。

(3) 有一个运行进程,n-1个就绪进程,没有进程处于阻塞状态。

(4) 没有运行进程,有2个就绪进程,n个过程处于阻塞状态。

16. 如果信号量的当前值为 -5,则表示系统中在该信号量上有 ① 个等待进程。

17. 某程序运行时经常需打印中间结果。计算时,该进程处于 ① 态,打印时处于 ② 态,打印结束时进程处于 ③ 态。

20. 在操作系统中引入线程的主要目的是 ① 。

22. 不让死锁发生的策略可以分为静态和动态的两种,死锁避免属于 ① 。

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

26. 产生死锁的根本原因是 ① ,另一个基本原因是 ② 。

27. 进程调度算法采用等时间片轮转法时,时间片过大,就会使轮转法转化为 ① 调度算法。

28. 若使当前运行进程总是优先级最高的进程,则应选择 ① 进程调度算法。

29. 进程初建时处于 ① 态,运行时因为时钟中断而处于 ② 态,因等待事件或资源而处于 ③ 态。

30. 预防死锁的预先分配法和有序分配法,它们分别破坏了产生死锁必要条件中的 ①条件和 ② 条件。

31. 当处理机空闲时,进程调度程序从 ① 队列中选取一个进程执行。

32. 进程的调度方式有两种,一种是 ① ,另一种是 ② 。

33. 进程调度负责 ① 的分配工作。

34. 对待死锁,一般应考虑死锁预防、避免、检测和解除四个问题。典型的银行家算法是属于 ① ,破坏环路等待条件是属于 ② ,而剥夺资源是属于 ③ 的基本方法。

35. 银行家算法中,当一个进程提出的资源请求将导致系统从 ① 进入 ② 时,系统就拒绝它的资源请求。

36. 线程与进程的根本区别在于进程是 ① 单位,而线程是 ② 单位, ③ 具有自己的主存空间, ④ 共享该主存空间并对其所有主存空间都有存取权限。

2 选择题

2. 进程在处理器上执行时 ( ) 。

A. 进程之间是无关的,具有封闭特性

B. 进程之间是有交往的,相互依赖、相互直接制约,具有并发性

C. 具有并发性,即同一时刻执行的特性

D. 进程之间可能是无关的,但也可能是有交往的

3. 有交往的共发进程执行时出现与时间有关的错误,其原因是 ( ) 。

A. 进程的并发性

B. 对共享资源的使用不受限制,进程交叉使用可共享变量

C. 进程具有访问共享变量的临界区

D. 进程具有访问共享变量的相关临界区

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. 在下列的进程状态变换中,( ) 是不可能发生的。

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

12. 进程具有三种基本状态:阻塞态、运行态、就绪态,进程在执行过程中,其状态总是在不停地发生变化的,下面关于进程状态变化的说法中正确的是 ( ) 。

A. 进程一旦形成,首先进入的是运行状态。

B. 三种进程状态是进程运行过程中的基本状态,进程可能同时处于某几种状态中

C. 一个进程必须经过进程的三个基本状态才能结束

D. 在分时系统中,一个正在运行进程的时间片到,该进程将转入就绪状态

14. 对于两个并发进程,设互斥信号量为mutex,若mutex =0,则 ( ) 。

A. 表示没有进程进入临界区

B. 表示有一个进程进入临界区

C. 表示有一个进程进入临界区,另一个进程等待进入

D. 表示有两个进程进入临界区

15. 对进程的管理和控制使用 ( ) 。

A. 信号量 B. 原语 C. 中断 D. 指令

16. ( ) 是一种只能进行P操作和V操作的特殊变量。

A. 同步 B. 互斥 C. 信号量, D. 管程

17. 用于解决进程间互斥的方法是 ( ) 。

A. 信号量及P,V操作 B. 加锁与解锁 C. 消息缓冲方式 D. 特权指令方式

18. 若有三个进程共享一个互斥段,每次最多允许两个进程进入互斥段,则信号量的变换范围是 ( ) 。

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

19. 设有六个进程共享一个互斥段,如果最多允许有三个进程进入互斥段,则所采用的互斥信号量的初值应该是 ( ) 。

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

20. 设有两个并发执行的进程,则它们之间 ( ) 。

A. 必须互斥 B. 必须同步 C. 彼此无关 D. 可能需要同步或互斥

21. 某系统有三个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是 ( ) 。

A. 4 B. 8 C. 10 D. 12

22. 在操作系统中,信号量表示资源实体,是一个与队列有关的 ( ) 变量,其值只能用P,V操作改变。

A. 实型 B. 整型 C. 布尔型 D. 记录型

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

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

25. 下列几种关于进程的叙述,( ) 最不符合操作系统对进程的理解。

A. 进程是在多程序并行环境中的完整的程序

B. 进程可以由程序、数据和进程控制块描述

C. 线程是一种特殊的进程

D. 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位

26. 在操作系统中,P,V操作是一种 ( ) 。

A. 机器指令 B. 系统调用指令 C. 作业控制命令 D. 低级进程通信原语

27. 建立多进程的主要目的是提高 ( ) 的利用率。

A. 文件 B. CPU C. 内存 D. 外设

28. 进程并发的数目主要受到 ( ) 和 ( ) 的限制。

A. 内存空间 B. 终端数目 C. 文件数的多少 D. CPU速度

29. 进程所具有的特征是 ( )(多选) 。

A. 动态性 B. 共享性 C. 并发性 D.静态性 E. 独立性 F.不确定性

30. 若信号量S的初值为2,当前值为一1,则表示有( )等待进程。

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

31. 当 ( ) 时,进程从执行状态转变为就绪状态。

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

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

32. 并发过程中涉及到相同变量的程序段叫做 ( ) 。

A. 缓冲区 B. 共享数据区 C. 临界区 D. 互斥资源

33. 产生死锁的原因是 ( ) 。

A. 资源共享 B. 并发执行的进程数太多

C. 系统资源不足 D. 进程推进顺序非法

36. 在下列算法中,可用于进程调度的算法是 ( ) 。

A. 动态优先级法 B. 电梯调度算法 C. 时间片轮转法 D. LRU法

38. 以下关于死锁的必要条件的叙述中错误的是 ( ) 。

A. 只要具备了死锁的必要条件,就一定发生死锁现象

B. 解决死锁问题可以从死锁的必要条件出发

C. 一旦出现死锁现象,处于死锁状态的进程一定同时具备死锁的必要条件

D. 死锁的四个必要条件之间不是完全独立的,但也不是等价的

40. 死锁问题的解决可以有多种途径,以下说法中正确的是 ( ) 。

A. 死锁的防止是通过破坏进程进入不安全状态来实现的

B. 通过避免死锁的四个必要条件中的任何一个就可以实现死锁的避免

C. 死锁的检测和解除是配合使用的,当系统检测到出现死锁状态时,就通过死锁解除方法来解除死锁

D. 死锁问题是无法解决的,但可以避免

3 判断题

1. 并发是并行的不同表述,其原理相同。 ( )

2. 进程是程序加PCB数据结构。 ( )

3. 在单处理机上,进程就绪队列和阻塞队列都只能有一个。 ( )

4. 临界区是不可中断的程序。 ( )

5. 进程A和进程B共享变量1,需要互斥,进程B和进程C共享变量2,需要互斥,从而进程A与进程C也必须互斥。 ( )

6. 作业调度是高级调度,进程调度是低级调度。 ( )

7. 进程获得处理机而运行是通过申请得到的。 ( )

8. 任一时刻,若有执行状态的进程,就一定有就绪状态的进程。 ( )

9. 单处理机上的进程就绪队列和阻塞队列最多只能有一个。 ( )

10. 程序的并发执行是指同一时刻有两个以上的程序,它们的指令都在同一处理机上执行。 ( )

11. 进程是程序执行的动态过程,而程序是进程运行的静态文本。 ( )

12. 进程由进程控制块和数据集以及对该数据集进行操作的程序组成。 ( )

13. 进程上下文是进程执行活动全过程的静态描述。 ( )

14. 进程是基于多道程序技术而提出的,其最基本的特征是并发性和动态性;进程的执行也即在多种基本状态间多次转换的过程,但只有处于就绪、阻塞和执行这三种状态的进程位于内存。 ( )

15. 进程是一个独立的运行单位,也是系统进行资源分配与调度的独立单位。 ( )

16. 进程要求使用某一资源时,如果资源正为另一进程所使用,则该进程必须等待,当另一进程使用完并释放后方可使用,这种情况就是所谓的进程同步现象。 ( )

17. 死锁是一种与时间有关的错误。 ( )

18. 在剥夺 (抢占) 调度方式下,现运行进程的优先级不低于系统中所有进程的优先级。

( )

19. 如果在加锁法实现互斥时,将未进入临界区的进程排队等待,从而让其有被再调度的机会,加锁法和P,V原语实现互斥时其效果是相同的。 ( )

20. 在处理死锁的四种方法中,预防策略是不容死锁出现的,而其它三种方法都是容许的,为预防死锁,系统、须至少使产生死锁的四个必要条件之一不成立,例如银行家算法就是预防死锁最有代表性的一个算法。 ( )

21. 所有进程都挂起时,系统陷入死锁。 ( )

22. 参与死锁的所有进程都占有资源。 ( )

23. 进程执行的相对速度不能由进程自己来控制。

24. P,V操作并不是一种同步原语。

( )

( )

4 简答题

5. 画出过程状态转换图,并标明状态转换的条件。

6. 进程有无如下状态转换?为什么?

(1) 阻塞一运行;

(2) 就绪一阻塞。

7. 一个单CPU的操作系统共有n个进程,不考虑进程状态过渡的情况,也不考虑空转进程。

(1) 给出运行进程的个数。

(2) 给出就绪进程的个数。

(3) 给出等待 (阻塞) 进程的个数。

13. 使用P,V原语和加锁法都可以实现并发进程间的互斥,请问它们在实现互斥时有何异同?

14. 在生产者-消费者的问题中,如果将P操作位置互换,会产生什么结果。如果只将V操作位置互换,又会产生什么结果?

23. 在CPU按优先权调度的系统中,

(1) 没有运行进程是否一定没有就绪进程?为什么?

(2) 没有运行进程或者没有就绪进程或两者都没有,是否可能?都是什么情况?

(3) 运行进程是否一定是进程中优先权最高的?

25. 什么是死锁?产生死锁的原因是什么?

26. 产生死锁的必要条件是什么?解决死锁问题常用哪几种措施?

28. 一个操作系统有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某进程获得它所需要的全部数量,立即归还所有资源。每个进程最多使用三个资源。若仅考虑这类资源,该系统有无可能全部死锁,为什么?

5 应用题

1. 设公共汽车上,司机和售票员的活动如下图所示。

在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?并用信号量的P,V操作实现它的同步。

司机

启动车辆

正常行车

到站停车

开车门

售票员

上乘客

关车门

售票

下乘客

9. 假设一个信箱只能存放一封信件,只要信箱为空,进程P1就产生信件并送入信箱,只要信箱中有信件,进程P2就不断从信箱中取出信件并进行处理。开始时,信箱为空。试用P,V操作表达进程P1,P2之间的关系。

10. 进程P1和P2利用公共缓冲池交换数据。设缓冲池有N个缓冲块,进程P1每次生成一数据块存入一空缓冲区,进程P2每次从缓冲池中取出一个装满数据的缓冲块。试用信号量及P,V操作实现进程P1和P2的同步。

11.有一银行家,有资金共10亿,有A,B,C三位顾客要贷款,A代8亿,B代3亿,C代9亿,(1)当前系统状态为:A=4,B=2,C=3 ,Banker=1,问此时银行家是否会亏本。(2)若当前状态为:A=4,B=2,C=2 ,Banker=2,若B再申请1亿的贷款,问银行家是否应该满足B的请求,为什么

12当前系统状态如下,用银行家算法判断:

1)求系统四类资源的总数分别是多少?每个进程的need各为多少?

2)判断该系统当前是否处于安全状态?

3)如果进程C提出请求requestC(1,3,2,2),系统能否满足其资源请求?

max allocation available

A

B

C

D

E

0 0 4 4

2 7 5 0

3 6 10 10

0 9 8 4

0 6 6 10

0 0 3 2

1 0 0 0

1 3 5 4

0 3 3 2

0 0 1 4

1 6 3 4

13设有三道程序按A,B,C的优先次序运行,采用剥夺方式,其内部计算和I/O操作的时间如下(A、B、C分别使用不同的I/O设备):

程序A使用30ms CPU后使用30ms I/OA,最后使用20ms CPU;

程序B使用20ms CPU后使用20ms I/OB,最后使用40ms CPU。

程序C使用20ms CPU后使用20ms I/OC,最后使用25ms CPU。

(1) 试画出按多道程序运行的时间关系图。

(2)完成三道程序共花多少时间?它比单道运行节省多少时间?

14. 有8个协作任务 (A, B, C, D, E, F, G, H) 分别完成各自的任务。它们之间有一定的制约关系:任务A必须先于B, C, E;任务E和D必须先于任务F;任务B和C必须先于任务D;任务F必须先于任务G和H。请写出并行程序,使得在任何情况下他们都能正确的工作。

15根据下表中的各进程资料,结合不同的处理器调度算法:FCFS先来先服务、RR轮转(q=1)、SPN最短进程、SRTN最短剩余时间 ,HRRN最高响应比优先,多级反馈队列FB(共3个就绪队列,q=2i,采用剥夺策略),画出各进程执行流程图 ,并计算RR调度算法的平均周转时间。