信号量:在多个相互合作的进程之间使用相同的信号来同步,一个进程强制的被停止在一个特定的地方直到收到一个专门的信号,这个信号就是信号量
信号量S的初值表示可用资源数:当S>0时,S的值表示还剩可用的资源数;当S<=0时表示已无资源可以分配,其绝对值表示此时在队列中等待分配资源的进程数
Wait操作表示申请资源(也就是P操作),Signal操作表示释放资源(也就是V操作),除了初始化外只有这两个操作原语
信号量的变化范围:设可用资源数m,进程数为n,忙等待时:0<=S<=m;当阻塞等待时 -(n-m)<=S<=m
忙等待:一直占用着主存,cpu浪费
阻塞等待:等待进程挂起,进程暂时保存在外存,不会占用主存,,进程之间切换慢