2.3.3进程互斥的硬件实现方法
目录
2.3.3.1 中断屏蔽
在本系列的第五节曾经提到过中断的概念,并说中断是操作系统夺回CPU的唯一方式,在这里中断屏蔽的想法与原语原子性保证的想法是一致的,即将临界区放在开中断与关中断之间,这样在临界区执行的过程中就无法发生中断,操作系统也就不会再夺回CPU访问临界资源了。这种方法虽然很简单但是如果用户进程随意使用中断这种内核态指令的话就会带来很大的危险。
2.3.3.2 TestAndSet指令(TSL指令)
我们来执行一下上面的代码,若刚开始 lock 是 false,则 TSL 返回的 old 值为 false,while 循环条件不满足ÿ