进程互斥中有以下几个解决方案:硬件:
1。禁止中断:让硬件来解决互斥问题,与此同时,也意味着把禁止中断的权力赋予普通用户,显然是与操作系统理念相背的。
2。CPUT的SL指令:与软件机制中的信号量(semaphore)本质上一致,只是软硬件的差别软件:1。信号量:每一个资源有一个信号量S,进程对资源的使用状态包括:1等待2使用
信号量用于标识当前资源被使用情况,当一进程在使用时,设置S值,使得其他进程无法使用,而其他进程无法使用,仅仅是进程的代码的前头所做的一个IF判断,故主要缺点就是把纷繁的互斥操作交给用户,易出错。
2。管道:一种新的高级语言,互斥操作的过程(不是进程),只需要写在一个monitor{}的{}中
3。消息通信机制
问题来了,第3个消息通信机制,我是怎么也理解不了互斥是怎么实现的?
请大家指教,谢谢