系统架构设计师考试知识点整理-3:信号量与PV操作
出現(xiàn)場景
進程之間會出現(xiàn)互斥和同步兩種關(guān)系。為了處理這兩種情況,提出信號量和PV操作。
1.信號量:是一種特殊的變量,變現(xiàn)形式是一個整型S和一個隊列。
2.P操作:S=S-1,若S<0,進程暫停執(zhí)行,進入等待序列。
3.V操作:S=S+1,若S<=0,喚醒等待隊列中的一個進程。
互斥控制
如圖:
?
1.為了保護共享資源,不讓多個進程同時訪問這個共享資源。
2.一次只允許一個進程訪問的資源稱謂臨界資源。
3.信號量S的初值應(yīng)該為1,該值表示可以允許多少個進程進入,當(dāng)S<0時,其絕對值就是等待使用臨界資源的進程數(shù),也就是等待隊列中的進程數(shù)。
4.當(dāng)一個進程從臨界區(qū)出來時,執(zhí)行V 操作(S=S+1),如果等待隊列中還有進程(S<=0),則調(diào)入一個新的進程進入(喚醒)。
同步控制
如圖:
?
1.進程A在進程B到達L2以前,不應(yīng)該前進到超過L1點。
2.要設(shè)置信號量S的初值為0,如果進程A先執(zhí)行到L1,那么執(zhí)行P操作(S=S-1)后,則S<0,就停止執(zhí)行,直到進程B執(zhí)行到L2時,將執(zhí)行V操作(S=S+1),喚醒A以繼續(xù)操作。
理解PV操作
1.信號量與PV操作是用來解決并發(fā)問題的,在并發(fā)問題中最重要的就是互斥與同步兩個關(guān)系。
2.信號量的初值通常表示資源的可用數(shù),而且對于初始為0的信號量,會先做V操作。
3.在資源使用之前,將會使用P操作;在資源只用之后,使用V操作。
4.在互斥關(guān)系中,PV操作是在一個進程中成對出現(xiàn)的,而在同步關(guān)系中,PV操作一定是在兩個進程甚至是在多個進程中成對的出現(xiàn)。
總結(jié)
以上是生活随笔為你收集整理的系统架构设计师考试知识点整理-3:信号量与PV操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统架构设计师考试知识点整理-2:进程的
- 下一篇: Winform控件-DevExpress