2024年5月31日发(作者:)

计算机操作系统典型例题解析之三

【例1】分配到必要的资源并获得处理机时的进程状态是(B)。

A、就绪状态B、执行状态C、阻塞状态D、新状态

分析:进程有三种基本状态:就绪状态、执行状态和阻塞状态。

当进程已分配到除CPU以外的所有必要的资源后,只要能再获得处理

机便可立即执行,这时的状态称为就绪状态;处于就绪状态的进程如

果获得了处理机,其状态转换为执行状态;进程因发生某种事件(如

I/O请求、申请缓冲空间等)而暂停执行时的状态,亦即进程的执行

受到阻塞,故称这种状态为阻塞状态;而新状态是指创建了进程但尚

未把它插入到就绪队列前的状态。所以本题的答案是B。

【例2】挂起的进程被激活,应该使用(C)原语。

A、CreateB、SuspendC、ActiveD、Wakeup

分析:在不少系统中,进程除了三种基本状态外,又增加了一些

新的状态,其中最重要的是挂起状态。“挂起”的实质是使进程不能

继续执行,即使挂起后的进程处于就绪状态,它也不能参加对CPU的

竞争,进程的挂起调用Suspend()原语。因此,被挂起的进程处于静

止状态,相反,没有挂起的进程则处于活动状态。而且,处于静止状

态的进程,只有通过“激活”动作,调用Active()原语,才能转换

成活动状态,调入内存。所以本题的答案是C。

【例3】任何时刻总是让具有最高优先数的进程占用处理器,此时采

用的进程调度算法是(D)。A非抢占式的优先数调度算法

B、时间片轮转调度算法C、先来先服务调度算法D、抢占式的优先数

1

调度算法

分析:“让具有最高优先数的进程占用处理器”,我们可以知道,

采用的进程调度算法是优先数调度算法,但是我们还要进一步分析是

抢占式的还是非抢占式的。“任何时刻总让”,通过这句话我们知道采

用的是抢占式的,所以本题的答案是D。

【例4】若P、V操作的信号量S初值为2,当前值为-1,则表示有(B)

等待进程。A、0个B、1个C、2个D、3个

分析:信号量的初始值表示系统中资源的数目,每次的Wait操作

意味着进程请求一个单位的资源,信号量进行减1的操作,当信号量

小于0时,表示资源已分配完毕,进程自我阻塞。因此,如果信号量

小于0,那么信号量的绝对值就代表当前阻塞进程的个数。所以本题

的答案是B。

【例5】发生死锁的必要条件有四个,要预防死锁的发生,可以破坏

这四个必要条件,但破坏(A)条件是不太实际的。

A、互斥B、请求和保C、不剥夺D、环路等待

分析:预防死锁是指通过破坏死锁的某个必要条件来防止死锁的

发生。四个必要条件中,后三个条件都可以被破坏,而第一个条件,

即“互斥”条件,对某些像打印机这样的设备,可通过SPOOLing技术

予以破坏,但其他资源,因受它们的固有特性的限制,该条件不仅不

能被破坏,反而应加以保证。所以本题的答案是A。

【例6】有m个进程共享同一临界资源,若使用信号量机制实现

对临界资源的互斥访问,则信号量值的变化范围是1至1-m。

2