并發(fā)執(zhí)行的三個特點 同步機制應(yīng)遵循哪些基本準則?為什么?
同步機制應(yīng)遵循哪些基本準則?為什么?在多道程序設(shè)計環(huán)境中,當程序同時執(zhí)行時,由于資源共享和進程協(xié)作,同一系統(tǒng)中進程之間可能存在以下兩種形式的約束:(1)間接相互約束。同一系統(tǒng)中的進程通常共享某些資源。
同步機制應(yīng)遵循哪些基本準則?為什么?
在多道程序設(shè)計環(huán)境中,當程序同時執(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)空閑接納:因為當沒有進程在關(guān)鍵區(qū)域時,表示關(guān)鍵資源處于空閑狀態(tài)。一個請求進入關(guān)鍵區(qū)域的進程應(yīng)該被允許立即進入它自己的關(guān)鍵區(qū)域,以便有效地利用關(guān)鍵資源。(2) 忙時等待:因為當現(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) 讓正確的等待:因為,當進程不能進入自己的關(guān)鍵區(qū)域時,它應(yīng)該立即釋放處理器,以避免進程陷入“忙”狀態(tài)
[解決方案]同步機制應(yīng)該遵循的基本規(guī)則是:(1)當沒有進程在關(guān)鍵區(qū)域時空閑讓入,相應(yīng)的關(guān)鍵資源處于空閑狀態(tài)。因此,請求進入關(guān)鍵區(qū)域的流程可以被允許立即進入自己的關(guān)鍵區(qū)域,從而有效地利用關(guān)鍵資源。(2) 當一個進程進入它自己的關(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) 當進程不能進入自己的關(guān)鍵區(qū)域時,應(yīng)立即釋放處理器,避免進程陷入“忙等待”狀態(tài)。
同步機構(gòu)應(yīng)遵循哪些基本準則?為什么?
同步發(fā)電機采用自同步法和準同步法并聯(lián)。自同步并聯(lián)是將發(fā)電機未勵磁但轉(zhuǎn)速接近同步轉(zhuǎn)速的發(fā)電機投入系統(tǒng),并立即(或在一定時間后)加勵磁。這樣,發(fā)電機就會在很短的時間內(nèi)自動拉入并與電網(wǎng)同步。準同步并聯(lián)法是在發(fā)電機與電網(wǎng)相序、頻率、電壓、相位相同的情況下,調(diào)整發(fā)電機的勵磁電流和轉(zhuǎn)速,將發(fā)電機并入電網(wǎng)。同步發(fā)電機組并聯(lián)時應(yīng)遵循的原則:
1。發(fā)電機頻率與系統(tǒng)頻率相同。
2. 發(fā)電機出口電壓與系統(tǒng)電壓相同,其最大誤差應(yīng)在5%以內(nèi)。
3. 發(fā)電機相序與系統(tǒng)相序相同。
4. 發(fā)電機電壓相位與系統(tǒng)電壓相位一致。
同步發(fā)電機組并列時需要遵循哪些原則?
進入關(guān)鍵區(qū)域的進程的調(diào)度原則是:如果有多個進程需要進入空閑的關(guān)鍵區(qū)域,一次只能進入一個進程。② 在任何時候,關(guān)鍵區(qū)域中只能有一個進程。如果一個進程進入它自己的關(guān)鍵區(qū)域,那么所有其他試圖進入該關(guān)鍵區(qū)域的進程都必須等待。③ 進入臨界區(qū)的過程應(yīng)在有限的時間內(nèi)退出,以便其他過程能及時進入自己的臨界區(qū)。④ 如果進程不能進入自己的關(guān)鍵區(qū)域,就應(yīng)該放棄CPU,避免“忙”現(xiàn)象。
多個進程共享臨界區(qū),需遵循的調(diào)度原則?
一個信號量的初始值只能設(shè)置一次,然后只能由P或v操作
由此可以看出,信號量機制必須有公共內(nèi)存,不能在分布式操作系統(tǒng)中使用,這是其最大的弱點。信號量機制功能強大,但信號量的操作比較分散,控制、讀、寫和維護都比較困難。增加了程序員的編碼負擔;核心操作P-V分散在每個用戶程序的代碼中,不易控制和管理;一旦出錯,后果嚴重,不易發(fā)現(xiàn)和糾正。(b) 自旋鎖:自旋鎖是一種保護共享資源的鎖機制。如果調(diào)用者請求的資源被占用,也就是說,自旋鎖已經(jīng)被另一個執(zhí)行單元持有,調(diào)用者將在那里循環(huán)以查看自旋鎖是否已經(jīng)被持有和釋放。自旋鎖(Spin lock)是一種相對低級的保護數(shù)據(jù)結(jié)構(gòu)和代碼片段的原始方法,它可能會導(dǎo)致以下兩個問題:1。僵局;2。CPU資源占用過多。傳統(tǒng)的自旋鎖會因無序競爭(c)管理而導(dǎo)致“公平”問題:信號量機制強大,但信號量操作分散,難以控制、讀寫和維護。因此,后來提出了一個集中式的同步過程tube進程。其基本思想是將共享變量及其操作集中在一個模塊中,操作系統(tǒng)或并發(fā)程序由這些模塊組成。這樣,模塊之間的連接清晰,易于維護和修改,易于保證正確性。(d) 交會:過程直接相互作用。(E) 分布式系統(tǒng):由于分布式操作系統(tǒng)中沒有公共內(nèi)存,所以所有參數(shù)都是值參數(shù),不能是指針。(f) 原語是一個不間斷的過程。