王道操作系统考研笔记——2.3.3 进程互斥的硬件实现方法
生活随笔
收集整理的這篇文章主要介紹了
王道操作系统考研笔记——2.3.3 进程互斥的硬件实现方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 2.3.3 進程互斥的硬件實現方法
- 2.3.3.1 中斷屏蔽方法
- 2.3.3.2 TestAndSet指令
- 2.3.3.3 Swap指令
- 2.3.3.4 小結
2.3.3 進程互斥的硬件實現方法
知識總覽
2.3.3.1 中斷屏蔽方法
利用開/關中斷指令實現中斷屏蔽方法,可以使得某進程開始訪問臨界區到結束期間不允許被中斷,也就是不能發送進程切換,這樣的話也就不可能發生兩個進程同時訪問臨界區。
這樣的優點雖然簡單高效,但是卻不適用于多處理機;而且其只適用于操作系統內核進程,不適用于用戶進程(因為開/關中斷指令只能運行在內核態,這組指令如果能讓用戶隨意使用會很危險)。
2.3.3.2 TestAndSet指令
簡稱TS指令,也有地方稱為TestAndSetLock指令,或TSL指令。TSL指令是用硬件實現的,執行的過程不能中斷,只能一氣呵成。以下是C語言描述的邏輯。
邏輯,不是實現過程!本質上還是用硬件實現的。
2.3.3.3 Swap指令
Swap指令在有的地方也被叫做Exchange指令,或簡稱XCHG指令。Swap指令是用硬件實現的,執行的過程不允許被中斷,只能一氣呵成。以下使用C語言描述的邏輯。
2.3.3.4 小結
總結
以上是生活随笔為你收集整理的王道操作系统考研笔记——2.3.3 进程互斥的硬件实现方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 也谈子网划分和子网通信
- 下一篇: Type Casting