国产成人v爽在线免播放观看,日韩欧美色,久久99国产精品久久99软件,亚洲综合色网站,国产欧美日韩中文久久,色99在线,亚洲伦理一区二区

學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>操作系統(tǒng)基礎(chǔ)知識(shí)>

操作系統(tǒng)臨界區(qū)調(diào)用原則

時(shí)間: 佳洲1085 分享

  操作系統(tǒng)臨界區(qū)是一個(gè)訪問共用資源的程序片段,下面由學(xué)習(xí)啦小編為大家整理了操作系統(tǒng)臨界區(qū)調(diào)用原則的相關(guān)知識(shí),希望對大家有幫助。

  一.臨界區(qū)調(diào)用法則

  進(jìn)程進(jìn)入臨界區(qū)的調(diào)度原則是:

  1、如果有若干進(jìn)程要求進(jìn)入空閑的臨界區(qū),一次僅允許一個(gè)進(jìn)程進(jìn)入。

  2、任何時(shí)候,處于臨界區(qū)內(nèi)的進(jìn)程不可多于一個(gè)。如已有進(jìn)程進(jìn)入自己的臨界區(qū),則其它所有試圖進(jìn)入臨界區(qū)的進(jìn)程必須等待。

  3、進(jìn)入臨界區(qū)的進(jìn)程要在有限時(shí)間內(nèi)退出,以便其它進(jìn)程能及時(shí)進(jìn)入自己的臨界區(qū)。

  4、如果進(jìn)程不能進(jìn)入自己的臨界區(qū),則應(yīng)讓出CPU,避免進(jìn)程出現(xiàn)“忙等”現(xiàn)象。

  補(bǔ)充:二.臨界區(qū)簡介

  臨界區(qū)指的是一個(gè)訪問共用資源(例如:共用設(shè)備或是共用存儲(chǔ)器)的程序片段,而這些共用資源又無法同時(shí)被多個(gè)線程訪問的特性。當(dāng)有線程進(jìn)入臨界區(qū)段時(shí),其他線程或是進(jìn)程必須等待(例如:bounded waiting 等待法),有一些同步的機(jī)制必須在臨界區(qū)段的進(jìn)入點(diǎn)與離開點(diǎn)實(shí)現(xiàn),以確保這些共用資源是被互斥獲得使用,例如:semaphore。只能被單一線程訪問的設(shè)備,例如:打印機(jī)。

  每個(gè)進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)(Critical Section)(臨界資源是一次僅允許一個(gè)進(jìn)程使用的共享資源)。每次只準(zhǔn)許一個(gè)進(jìn)程進(jìn)入臨界區(qū),進(jìn)入后不允許其他進(jìn)程進(jìn)入。不論是硬件臨界資源,還是軟件臨界資源,多個(gè)進(jìn)程必須互斥地對它進(jìn)行訪問。

  多個(gè)進(jìn)程中涉及到同一個(gè)臨界資源的臨界區(qū)稱為相關(guān)臨界區(qū)。.

  補(bǔ)充:三.臨界區(qū)存在的幾個(gè)問題

  在使用臨界區(qū)時(shí),一般不允許其運(yùn)行時(shí)間過長,只要進(jìn)入臨界區(qū)的線程還沒有離開,其他所有試圖進(jìn)入此臨界區(qū)的線程都會(huì)被掛起而進(jìn)入到等待狀態(tài),并會(huì)在一定程度上影響程序的運(yùn)行性能。尤其需要注意的是不要將等待用戶輸入或是其他一些外界干預(yù)的操作包含到臨界區(qū)。如果進(jìn)入了臨界區(qū)卻一直沒有釋放,同樣也會(huì)引起其他線程的長時(shí)間等待。換句話說,在執(zhí)行了EnterCriticalSection()語句進(jìn)入臨界區(qū)后無論發(fā)生什么,必須確保與之匹配的LeaveCriticalSection()都能夠被執(zhí)行到??梢酝ㄟ^添加結(jié)構(gòu)化異常處理代碼來確保LeaveCriticalSection()語句的執(zhí)行。雖然臨界區(qū)同步速度很快,但卻只能用來同步本進(jìn)程內(nèi)的線程,而不可用來同步多個(gè)進(jìn)程中的線程。

  1、 臨界區(qū)的退出,不會(huì)檢測是否是已經(jīng)進(jìn)入的線程,也就是說,我可以在A線程中調(diào)用進(jìn)入臨界區(qū)函數(shù),在B線程調(diào)用退出臨界區(qū)的函數(shù),同樣是成功;

  2、 在測試臨界區(qū)的時(shí)候,如果我沒有調(diào)用進(jìn)入臨界區(qū)的函數(shù),直接退出的話,系統(tǒng)沒有進(jìn)行判斷,但是計(jì)數(shù)發(fā)現(xiàn)了改變,此時(shí)此臨界區(qū)就再也用不了了,因?yàn)榻Y(jié)構(gòu)中的數(shù)據(jù)已經(jīng)亂掉了。

3592965