什么是操作系統(tǒng) 同步機制應(yīng)遵循哪些基本準(zhǔn)則?為什么?
同步機制應(yīng)遵循哪些基本準(zhǔn)則?為什么?在多道程序設(shè)計環(huán)境中,當(dāng)程序同時執(zhí)行時,由于資源共享和進程協(xié)作,同一系統(tǒng)中進程之間可能存在以下兩種形式的約束:(1)間接相互約束。同一系統(tǒng)中的進程通常共享某些資源。
同步機制應(yīng)遵循哪些基本準(zhǔn)則?為什么?
在多道程序設(shè)計環(huán)境中,當(dāng)程序同時執(zhí)行時,由于資源共享和進程協(xié)作,同一系統(tǒng)中進程之間可能存在以下兩種形式的約束:(1)間接相互約束。同一系統(tǒng)中的進程通常共享某些資源。(2) 兩者之間存在著直接的相互制約關(guān)系,這種制約關(guān)系主要來源于過程之間的合作。因此,在使用系統(tǒng)中的關(guān)鍵資源時,各進程應(yīng)該相互排斥,以共享資源。為了實現(xiàn)進程互斥進入自己的關(guān)鍵區(qū)域,我們可以采用軟件的方法,但更多的時候是在系統(tǒng)中設(shè)置一種特殊的同步機制來協(xié)調(diào)每個進程的運行。所有的同步機制都應(yīng)該遵循以下四個原則:(1)空閑接納:因為當(dāng)沒有進程在關(guān)鍵區(qū)域時,表示關(guān)鍵資源處于空閑狀態(tài)。一個請求進入關(guān)鍵區(qū)域的進程應(yīng)該被允許立即進入它自己的關(guān)鍵區(qū)域,以便有效地利用關(guān)鍵資源。(2) 忙時等待:因為當(dāng)現(xiàn)有進程進入關(guān)鍵區(qū)域時,它表示正在訪問關(guān)鍵資源,因此其他試圖進入關(guān)鍵區(qū)域的進程必須等待,以確保對關(guān)鍵資源的互斥訪問。(3) 有限等待:因為請求訪問關(guān)鍵資源的進程應(yīng)該能夠在有限的時間內(nèi)進入自己的關(guān)鍵區(qū)域,以免陷入“死等待”狀態(tài)。(4) 讓正確的人等待:因為,當(dāng)流程無法進入自己的關(guān)鍵區(qū)域時,它應(yīng)該立即釋放處理器,以避免進程陷入“忙碌和等待”狀態(tài)
四個同步是指什么?
!]當(dāng)沒有進程處于關(guān)鍵區(qū)域時相應(yīng)的關(guān)鍵資源處于空閑狀態(tài)。因此,請求進入關(guān)鍵區(qū)域的流程可以被允許立即進入自己的關(guān)鍵區(qū)域,從而有效地利用關(guān)鍵資源。(2) 當(dāng)一個進程進入它自己的關(guān)鍵區(qū)域時,意味著相應(yīng)的關(guān)鍵資源正在被訪問。因此,所有其他試圖進入關(guān)鍵區(qū)域的進程都必須等待,以確保這些進程訪問關(guān)鍵資源是互斥的。(3) 有限等待一個請求訪問關(guān)鍵資源的進程,應(yīng)該確保該進程能夠在有限的時間內(nèi)進入自己的關(guān)鍵區(qū)域,以免陷入“死等待”狀態(tài)。(4) 當(dāng)進程不能進入自己的關(guān)鍵區(qū)域時,應(yīng)立即釋放處理器,避免進程陷入“忙等待”狀態(tài)。