为了解决进程间的同步和互斥问题,通常采用一种称为(1)机制的方法。若系统中有5个进程共享若干个资源R,每个进程都需要4个资源R,那么使系统不发生死锁的资源R的最少数目是(2)。 空白(2)处应选择()
A.20
B.18
C.16
D.15
参考答案:C
解析:
本题考查的是操作系统中进程同步与进程互斥的基本知识及应用。
进程互斥是指某一资源同时只允许一个访问者对其访问,具有唯一性和排他性。进程同步是指互斥的基础上,通过其他机制实现访问者对资源的有序访问。也就是说,同步中已经实现了互斥。在系统中的某一阶段,多个进程竞争同一资源可能会发生死锁,若无外力作用,这些进程都将永远不能再向前推进。
为此,在操作系统的进程管理中最常用的方法是采用信号量(Semaphore)机制。信号量是表示资源的实体,是一个与队列有关的整型变量,其值仅能由P、V操作改变。“P操作”是检测信号量是否为正值,若不是,则阻塞调用进程;“V操作”是唤醒一个阻塞进程恢复执行。
根据用途不同,信号量分为公用信号量和私用信号量。公用信号量用于实现进程间的互斥,初值通常设为1,它所联系的一组并行进程均可对它实施P、V操作;私用信号量用于实现进程间的同步,初始值通常设为0或n。
解法1:公式法系统需要的最少资源数可用以下公式表示:M+N>M总共所需的资源数其中M表示进程数,Ⅳ表示系统需要的资源数。即5+N>5×4,N>15。所以,使系统不发生死锁的资源R的最少数目是16。
解法2:选项验证法根据题意,5个进程共享若干个资源R,每个进程都需要4个资源R,显然分配20个R资源能使系统不发生死锁,但不是最少数目。
因此,首先排除选项A。再看最少的选项D,分配15个R资源,使得每个进程拥有3个R资源,因此只要再分配1个R资源,就能保证一个进程运行完成,当这个进程释放资源后,其他进程又可以继续运行,直到全部进程完成。因此排除选项D,选择选项C。
实际上,多媒体应用设计师考试的上午试卷中很多选题都可以应用选项验证法来排除和验证,以此快速定位选项。