網站運營:以風險投資者的眼光看網站 |
發(fā)布時間:2017-01-15 文章來源: 瀏覽次數:2804 |
PV原理是用來解決操縱系統進程之間的同步和互斥的。 同步:異步環(huán)境下的一組進程因相互制約而發(fā)送動靜,進行互相合作互相等待。使各個進程按照一定的速度執(zhí)行。 互斥:一組進程由于共享一個公共資源,必須保證統一時刻只有一個進程在使用臨界資源。 舉一個例子就是: 互斥就是良多人過一個獨木橋,同時只能有一個人使用這個橋。 同步就是兩個人同時過一個橋,一個人騎車,一個人步行,但是兩個人必須同時到達。這兩個人同時出發(fā),騎車的人的比較快,必須到一段等一下步行的人,保證他們相互制約著到達。 信號量: 代表并發(fā)進程可用資源數,小于零表示正在等待資源的進程數。 P操縱: 將信號量減一,假如信號量(sem)為負數,則調用p操縱的進程休止,直到另一個進程對統一信號量做v操縱。 V操縱: 將信號量加一,假如信號量(sem)大于即是0則在與sem有關的隊列中喚醒一個進程,讓他執(zhí)行。 PV原理原則 1、互斥的信號量的PV操縱在一個進程中泛起 這里的Sn是互斥的,所以P(Sn) V(Sn)都在顧客進程里面。 2、同步的信號量的PV操縱在兩個進程之間交替泛起,好比S1,S2在顧客和收營員直接交替泛起。 3、個人觀點:PV操縱難點就是同步的進程之間的操縱,這里同步的進程對統一信號量的操縱,一定是先P,后V.P操縱是使用資源,V操縱是開釋資源,進程一定是先使用資源,然后再開釋資源。 這里就像是騎車的和步行的人,一開始他們都要走,只是走的過程中會泛起彼此等待的情況,這就是說開始為什么是P操縱了,由于P操縱是使用資源,他們要走,所以使用資源。 4、P操縱使信號量小于零以后,則休止當前進程,等另一個進程喚醒他,也就是給這個信號量加一。 5、當一個V操縱結束后,一般以為,這個進程接下去執(zhí)行,執(zhí)行下一個P操縱,這里指的是P(S2)操縱,然后休止,等待收銀員的V操縱喚醒他。 |