参考答案: B C
详细解析:
本题考查的是操作系统中采用信号量实现进程间同步与互斥的基本知识及应用。
试题第1小问的正确答案为B。因为在系统中,多个进程竞争同一资源可能会发生死锁,若无外力作用,这些进程都将永远不能再向前推进。为此,在操作系统的进程管理中最常用的方法是采用信号量(Semaphore)机制。信号量是表示资源的实体,是一个与队列有关的整型变量,其值仅能由P,V操作改变。“P操作”是检测信号量是否为正值,若不是,则阻塞调用进程;“V操作”是唤醒一个阻塞进程恢复执行。根据用途不同,信号量分为公用信号量和私用信号量。公用信号量用于实现进程间的互斥,初值通常设为1,它所联系的一组并行进程均可对它实施P,V操作:私用信号量用于实现进程间的同步,初始值通常设为0或n 。
试题第2小问的正确答案为C。因为本题中有5个进程共享若干个资源R,每个进程都需要4个资源R,若系统为每个进程各分配了3个资源,即5个进程共分配了15个单位的资源R,此时只要再有1个资源R,就能保证有一个进程运行完毕,当该进程释放其占有的所有资源,其他进程又可以继续运行,直到所有进程运行完毕。因此,使系统不发生死锁的资源R的最少数目是16。