首页 > 试题广场 >

某操作系统采用信号量机制实现进程同步,共有50个进程需要访问

[单选题]
某操作系统采用信号量机制实现进程同步,共有50个进程需要访问一个共享资源。为了保证互斥访问,系统引入了一个二进制信号量作为临界区的互斥锁。现在需要选择正确的信号量初值,使得只有一个进程能够进入临界区。假设进程在进入临界区之前会尝试获取信号量,若信号量值为0,则进程会被阻塞。以下选项中,哪个是正确的信号量初值?
  • 0
  • 1
  • 49
  • 50
在使用信号量机制实现互斥访问时,正确的信号量初值应为1。以下是关键分析步骤: 1. **二进制信号量特性**:二进制信号量的值只能是0或1。初值为1表示资源可用,初值为0表示资源已被占用。 2. **互斥需求**:题目明确要求仅允许一个进程进入临界区。此时,信号量初值设为1,确保第一个进程调用P操作时成功获取资源(信号量减1至0),其他进程因信号量为0而被阻塞,从而实现互斥。 3. **错误初值分析**: - 若初值为0,所有进程在首次尝试获取时均会被阻塞,导致无法进入临界区。 - 若初值超过1(如50),这与二进制信号量的定义相悖,实际系统中会被隐式限制为1。 4. **释放机制**:当持有信号量的进程退出临界区后,通过V操作将信号量恢复为1,唤醒等待队列中的下一个进程,确保资源的循环使用。 **结论**:正确的信号量初值是 **1**。
发表于 2025-04-28 13:57:33 回复(0)