计算机操作系统大学本科课件
次序
deposit(data): begin P(avail)P(mutex)
送数据入缓冲区 V(full)V(mutex)
endRemove(data): begin P(full) 次序 P(mutex) 取缓冲区中某单元数据 V(avail) V(mutex) end
公用信号量,互斥时使用的信 公用信号量, 号量(二元信号量): ):它仅允 号量(二元信号量):它仅允 许取值为“ 许取值为“0”与“1”,用 作互斥。 作互斥。它联系着一组共行进 初值为1 程,初值为1,每个进程均可 对之施加P、V操作。 对之施加P、V操作。 P、V操作 私用信号量:一般信号量(资 私用信号量:一般信号
量( 源信号量): ):它联系着一组共 源信号量):它联系着一组共 行进程,但其初值为0 行进程,但其初值为0,或为 某个正整数n,表示资源的数 某个正整数n,表示资源的数 n, 主要用于进程同步。 目,主要用于进程同步。只允 许拥有它的进程对之施加 进程对之施加P 许拥有它的进程对之施加P操 作,对V操作没有限制 操作没有限制
(消费者)私用信号量 full 表示有界 缓冲区中非空单元数 初值为0 表示有界 缓冲区中空的单元数 初值为n(生产者)私用信号量 avail