信号量机制(整形信号量/记录型信号量)

进程互斥的解决方案

    硬件实现方法:中断屏蔽方法、TS/TSL指令、Swap/XCHG指令。

    软件实现方法:单标志法、双标志先检查、双标志后检查、Peterson算法。

各种解决方案存在的问题:

  例如:1.在双标志先检查方法中,进入区的“检查”、”上锁“ 操作无法一气呵成,从而导致俩个进程有可能同时进入临界区的问题;

     2.所有解决方案都无法实现“让权等待”原则。

信号量机制:用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现进程互斥,进程同步。

信号量:其实就是一个变量(可以是一个整数,也可以是更复杂的记录型变量),可以用一个信号量来表示系统中某种资源的数量,比如:系统中只有一台打印机,就可以设置一个初值为1的信号量。

整型信号量:

记录型信号量:

 

猜你喜欢

转载自www.cnblogs.com/jibisheng/p/12944521.html