在操作系统的进程管理中,若系统中有10个进程使用互斥资源R,每次只允许3个进程进

考试题库2022-08-02  41

问题 在操作系统的进程管理中,若系统中有10个进程使用互斥资源R,每次只允许3个进程进入互斥段(临界区),则信号量S的变化范围是(  );若信号量S的当前值为-2,则表示系统中有(  )个正在等待该资源的进程。A.-7~1B.-7~3C.-3~0D.-3~10

选项 A.-7~1
B.-7~3
C.-3~0
D.-3~10

答案 B

解析 本题考查操作系统进程管理方面的基础知识。
    本题中,已知有10个进程共享一个互斥资源R,如果最多允许3个进程同时进入互斥段,这意味着系统有3个单位的资源,信号量的初值应设为3。当第一个申请该资源的进程对信号量S执行P操作,信号量S减1等于2(即3-1),进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S减1等于1(即3-2),进程可继续执行……当第10个申请该资源的进程对信号量S执行P操作,信号量S减1等于-7。所以试题(26)的正确答案为B。
    在操作系统的进程管理中,由于多个进程竞争同一资源可能会发生死锁,若无外力作用,这些进程都将永远不能再向前推进。为此,最常用的方法是采用信号量(Semaphore)及有关的P、V操作。信号量是表示资源的实体,是一个与队列有关的整型变量,其值仅能由P、V操作改变。“P操作”用于检测信号量是否为正值,若不是,则阻塞调用进程;“V操作”用于唤醒一个阻塞进程恢复执行。根据用途不同,信号量分为公用信号量和私用信号量。公用信号量用于实现进程间的互斥,初值通常设为1,它所联系的一组并行进程均司一对它实施P、V操作;私用信号量用于实现进程间的同步,初始值通常设为0或n。本题中,由于每次只允许3个进程进入互斥段(临界区),故信号量的初值为3,当前值为-2,则表示系统中有两个正在等待该资源的进程。因为当第一个申请该资源的进程对信号量S执行P操作,信号量S减1等于2,进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S减l等于1,进程可继续执行;当第三个申请该资源的进程对信号量S执行P操作,信号量S减1等于0,进程可继续执行;当第四个申请该资源的进程对信号量S执行P操作,信号量S减1等于-1,进程处于等待状态;当第五个申请该资源的进程对信号量S执行P操作,信号量S减1等于-2,进程处于等待状态。从以上分析可见,当信号量S等于-2时,有两个进程处于等待状态。所以试题(27)的正确答案为C。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2427838.html

最新回复(0)