考研帮 > 考研资料

2.9 本章真题解析

2.9 本章真题解析

  在近几次考试中,试卷所包含的题型只有选择题和综合应用题。下面分别以这两类题型为基础进行例题讲解。

2.9.1 单项选择题

  例题1
  进程和程序的一个本质区别是 (1)
  (1)A.前者分时使用CPU,后者独占CPU        B.前者存储在内存,后者存储在外存
      C.前者在一个文件中,后者在多个文件中 D.前者为动态的,后者为静态的
  例题1分析
  进程是程序在计算机上的一次执行活动。当运行一个程序,就启动了一个进程。进程具有动态性、并发性、独立性、异步性和结构特征。显然,程序是静态的,进程是动态的。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身。
  例题1答案
  (1)D
  例题2
  一个运行进程必须具备的3种基本状态是 (2)
  (2)A.就绪状态、挂起状态和执行状态 B.挂起状态、阻塞状态和执行状态
      C.就绪状态、执行状态和阻塞状态 D.就绪状态、执行状态和终止状态
  例题2分析
  一般来说,按进程在执行过程中的不同情况,进程的基本状态包括有以下几种。
  就绪状态(Ready):进程已分配到除处理机以外的所有必要资源,具备了执行的条件,可能会有多个进程处于就绪状态,排成就绪队列。
  执行状态(Running):进程占用处理机正在执行其程序。单处理机系统中只能有一个进程处于执行状态,多处理机系统中可能有多个进程处于执行状态。
  阻塞状态(Blocked):也叫等待或睡眠状态,是进程由于等待某种事件的发生而处于暂停执行的状态,如进程因等待I/O的完成、等待缓冲空间等。
  例题2答案
  (2)C
  例题3
  下面所列进程的3种基本状态之间的转换不正确的是 (3)
  (3)A.就绪状态→执行状态 B.执行状态→就绪状态 C.执行状态→阻塞状态 D.就绪状态→阻塞状态
  例题3分析
  进程在运行期间,不断地从一个状态转换到另外一个状态,它可以多次处于就绪状态和执行状态,也可多次处于阻塞状态,但可能排在不同的阻塞队列。对于进程的三种基本状态的转换关系及其转换原因阐述如下。
  就绪状态→执行状态。处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态。正在执行的进程也称为当前进程。
  执行状态→阻塞状态。正在执行的进程,因发生某事件而无法执行。例如,进程请求访问临界资源,而该资源正被其它进程访问,则请求该资源的进程将由执行状态变为阻塞状态。
  执行状态→就绪状态。正在执行的程序,因时间片用完而被暂停执行,该进程便由执行状态变为就绪状态。在抢占调度方式中,一个优先高的进程到来后,可以抢占一个正在执行的优先权的进程的处理机;这时,该低优先权进程也将由执行状态转换为就绪状态。
  从就绪状态直接到阻塞状态是不可能发生的,因此本题的答案选D。
  例题3答案
  (3)D
  例题4
  在进程控制块中,主要包括4方面用于描述和控制进程运行的信息。其中, (4) 主要是由处理机各种寄存器中的内容所组成。
  (4)A.进程标识符信息 B.进程调度信息 C.处理机状态信息 D.进程控制信息
  例题4分析
  在进程控制块中,主要包括4方面用于描述和控制进程运行的信息,分别是进程标识符信息、处理机状态信息、进程调度信息和进程控制信息。
  其中,处理机状态信息主要是由处理机各种寄存器中的内容所组成。处理机在运行时,许多信息都放在寄存器中,当处理机被中断时,所有这些信息都必须保存在被中断进程的PCB中,以便在该进程重新执行时,能从断点继续执行。
  例题4答案
  (4)C
  例题5
  在操作系统中,死锁出现是指 (5)
  (5)A.计算机系统发生重大故障
      B.资源数目少于进程数
      C.若干进程因竞争资源而无限等待其他进程释放已占有的资源
      D.进程同时申请的资源数超过资源总数
  例题5分析
  所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象——死锁。
  例题5答案
  (5)C
  例题6
  由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确 (6)
  (6)A.造成不正确的因素与时间有关
      B.造成不正确的因素只与进程占用的处理机有关
      C.造成不正确的因素与执行速度无关
      D.造成不正确的因素只与外界的影响有关
  例题6分析
  由于各进程的异步推进,进程之间的制约关系与时间有关,也即与进程的执行速度有关。
  例题6答案
  (6)A
  例题7
  (7) 调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。
  (7)A.时间片轮转调度算法 B.先来先服务调度算法
      C.短作业(进程)优先算法 D.优先权调度算法
  例题7分析
  目前存在着多种调度算法,有的算法适合作业调度;有的算法适用于进程调度;但也有些调度算法,既可用于作业调度,也可用于进程调度。
  其中,先来先服务(FCFS)调度算法是一种最简单的调度算法。当在作业调度中采用该算法时,每次调度是从后备作业队列中,选择一个或多个最先进入该队列的作用,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。
  在进程调度中,采用FCFS调度算法时,则每次调度就是从就绪队列中选择一个最先进入该队列的进程,把处理机分配给它,使之投入运行。该进程一直运行到完成或发生某事件而阻塞后,才放弃处理机。
  FCFS算法比较有利于长作业(进程),而不利于短作业(进程),如表2-6所示列出了A、B、C、D四个作业分别到达系统的时间、要求服务的时间、开始执行时间及各自的完成时间,并计算出各自的周转时间和带权周转时间。

表2-6 四个作业情况表

进程名

到达时间

服务时间

开始执行时间

完成时间

周转时间

带权周转时间

A

0

1

0

1

1

1

B

1

100

1

101

100

1

C

2

1

101

102

100

100

D

3

100

102

202

199

1.99

  从表2-6中可以看出,其中短作业C的带权周转时间竟高达100,而长作业D的带权周转时间仅为1.99。
  由此可见,FCFS调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。CPU繁忙型作业,是指该类作业需要大量的CPU时间进行计算,而很少请求I/O。通常的科学计算便属于CPU繁忙型作业。I/O繁忙型作业是指CPU进行处理时,又需频繁地请求I/O,而每次I/O的操作时间却很短,目前大多数的事务处理,都属于I/O繁忙型作业。
  可以通过一个例子来说明采用FCFS调度算法的调度性能,表2-7中有5个进程A、B、C、D和E,它们到达的时间分别是0、1、2、3和4,所要求的服务时间分别是4、3、5、2和4,由表2-7还可以看出,A、B、C、D和E的完成时间分别是4、7、12、14和18,从每个进程的完成时间中减去其到达时间,即得到每个进程的周转时间,进而可以算出每个进程的带权周转时间。

表2-7 FCFS调度算法性能

作业情况

进程名称

A

B

C

D

E

平均

 

  到达时间

0

1

2

3

4

 

  调度算法

  服务时间

4

3

5

2

4

 

  FCFS

  完成时间

4

7

12

14

18

 

  周转时间

4

6

10

11

14

9

  带权周转时间

1

2

2

5.5

3.5

2.8

  例题7答案
  (7)B
  例题8
  在操作系统中引入并发可以提高系统效率。若有两个程序A和B,A程序执行时所做的工作按次序需要用CPU:10秒;DEV1:5秒;CPU:5秒;DEV2:10秒;CPU:10秒。B程序执行时所做的工作按次序需要用DEV1:10秒;CPU:10秒;DEV2:5秒;CPU:5秒;DEV2:10秒。如果在顺序环境下执行A、B两个程序,CPU的利用率为 (8) ;如果在并发环境下执行两个程序,假设A程序先执行,则CPU的利用率为 (9) 。
  (8)A.30% B.40% C.50% D.60%
  (9)A.99% B.89% C.79% D.69%
  例题8分析
  如果A、B顺序执行,根据顺序环境的特点,程序A结束之后程序B才可以开始运行,因此总的运行时间应是两个程序运行所需实际时间的总和,即
  (10+5+5+10+10)+(10+10+5+5+10)= 80秒
  再计算CPU运行时间:(10+5+10)+(10+5)=40秒,因此CPU利用率为40秒/80秒=50%。如果并发执行,则在程序A不使用CPU时,B可以占用CPU,与A对其他设备的使用同步进行。程序A、B是同时进行着,也是同时结束的,即运行时间重叠。因此可得,程序运行所需时间为45秒,而CPU运行时间为40秒,由此可得CPU利用率为40秒/45秒=89%。
  例题8答案
  (8)C       (9)B
  例题9
  下面有关选择进程调度算法的准则中,不正确的是 (10)
  (10)A.尽快响应交互式用户请求 B.尽量提高处理器利用率
  C.尽可能提高系统吞吐量 D.适当增加进程在就绪队列中的等待时间
  例题9分析
  在选择调度算法时,应考虑以下几个准则:
  公平:确保每个进程获得合理的CPU份额;
  有效:使CPU尽可能的繁忙;
  响应时间:使交互用户的响应时间尽可能短;
  周转时间:使批处理用户等待输出的时间尽可能短;
  吞吐量:使单位时间处理的进程数尽可能最多。
  例题9答案
  (10)D
  例题10
  若信号量的初值为2,当前值为-3,则表示有 (11) 个等待进程。
  (11)A.1 B.2 C.3 D.5
  例题10分析
  当信号量控制互斥问题时,其初值往往代表资源的个数。本题初值为2,说明该种资源数量2个。当进程将2个资源全部占有之后,信号量值减至0,此时若再有进程要求申请该资源,则必须在此信号量上等待,具体表现为:将信号量的值减1,导致信号量的取值为负。此时有几个进程申请该资源,信号量便被减几次;因此S的值为?3,则表示有3个进程在等待该资源。
  例题10答案
  (11)C
  例题11
  操作系统中,可以并行工作的基本单位是 (12) ,它也是核心调度及资源分配的基本单位,它是由 (13) 组成的,它与程序的重要区别之一是 (14)
  (12)A.作业 B.函数 C.进程 D.过程
  (13)A.程序、数据和PCB B.程序、数据和标识符
  C.程序、标识符和PCB D.数据、标识符和PCB
  (14)A.程序有状态,而它没有 B.它有状态,而程序没有
  C.程序可占有资源,而它不可 D.它能占有资源,而程序不能

关于"最后阶段,真题的正确打开方式_备考经验_考研帮"15名研友在考研帮APP发表了观点

扫我下载考研帮

考研帮地方站更多

你可能会关心:

来考研帮提升效率

× 关闭