【OS】进程同步概念
文章目錄
- 臨界資源
- 同步
- 互斥
臨界資源
雖然多個(gè)進(jìn)程可以共享系統(tǒng)中的各種資源,其中許多資源一次只能為一個(gè)進(jìn)程所用,我們將一次僅允許一個(gè)進(jìn)程使用的資源稱(chēng)為臨界資源。許多物理設(shè)備都屬于臨界資源,如打印機(jī)等。此外,還有許多變量、數(shù)據(jù)等都可以被若干進(jìn)程共享,也屬于臨界資源。
對(duì)臨界資源的訪問(wèn),必須互斥地進(jìn)行,在每個(gè)進(jìn)程中,訪問(wèn)臨界資源的那段代碼稱(chēng)為臨界區(qū)。
為了保證臨界資源的正確使用,把臨界資源的訪問(wèn)過(guò)程分成4個(gè)部分:
進(jìn)入?yún)^(qū)
為了進(jìn)入臨界區(qū)使用臨界資源,在進(jìn)入?yún)^(qū)要檢查可否進(jìn)入臨界區(qū),若能進(jìn)入臨界區(qū),則應(yīng)設(shè)置正在訪問(wèn)臨界區(qū)的標(biāo)志,以阻止其他進(jìn)程同時(shí)進(jìn)入臨界區(qū)。
*臨界區(qū)
進(jìn)程中訪問(wèn)臨界資源的那段代碼,又稱(chēng)臨界段。
退出區(qū)
將正在訪問(wèn)臨界區(qū)的標(biāo)志清除。
剩余區(qū)
代碼中的其余部分。
同步
同步也叫直接制約關(guān)系,是指為完成某種任務(wù)而建立的兩個(gè)或多個(gè)進(jìn)程,這些進(jìn)程因?yàn)樾枰谀承┪恢蒙蠀f(xié)調(diào)它們的工作次序面等待、傳遞信息所產(chǎn)生的制約關(guān)系。進(jìn)程間的同步源于它們之間的相互合作。
例如:輸入進(jìn)程A通過(guò)單緩沖向進(jìn)程B提供數(shù)據(jù)。當(dāng)該緩沖區(qū)空時(shí),進(jìn)程B不能獲得所需數(shù)據(jù)而阻塞,旦進(jìn)程
A將數(shù)據(jù)送入緩沖區(qū),進(jìn)程B就被喚醒,反之,當(dāng)緩沖區(qū)滿時(shí),進(jìn)程A被阻塞,僅當(dāng)進(jìn)程B取走緩沖數(shù)據(jù)時(shí),才喚醒進(jìn)程A.
互斥
互斥也稱(chēng)間接制約關(guān)系。當(dāng)一個(gè)進(jìn)程進(jìn)入臨界區(qū)使用臨界資源時(shí),另一個(gè)進(jìn)程必須等待,當(dāng)占用臨界資源的進(jìn)程退出臨界區(qū)后,另一進(jìn)程才允許去訪問(wèn)此臨界資源。
例如:
在僅有一臺(tái)打印機(jī)的系統(tǒng)中,有兩個(gè)進(jìn)程A和進(jìn)程B,若進(jìn)程A需要打印時(shí),系統(tǒng)已將打印機(jī)分配給進(jìn)程B,則進(jìn)程A必須阻塞。一且進(jìn)程B將打印機(jī)釋放,系統(tǒng)便將進(jìn)程A喚醒,并將其由阻塞態(tài)變?yōu)榫途w態(tài)。
總結(jié)
以上是生活随笔為你收集整理的【OS】进程同步概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【计算机网络】TCP/IP 模型与OSI
- 下一篇: 目标明确!雷军:小米汽车争取15-20年