皆可吧@@ 恐龙本上都有提到突然想起差别了Wakeup() block() 这两个指令是当 signal(S) 大于s wait(S) 小于s使用
http://i.imgur.com/zk3qgMN.jpghttp://i.imgur.com/56bYZqT.jpg而disable interrupt &busy waiting 则是使用 MutexLock时的选择作法而已简单来说 它们皆是解决同步问题的tool 但是是不一样的东西恐龙本反而没提起利用interrupt 去实作 semaphore而是利用 block and wakeup去实作个人想法是因为 interrupt Cost太高了 反而直接用这两个sys call 比较好重新整理一下我的思绪 首先在Semaphore 的wait()中 busy waiting 就是指S-- 这点能接受了话