特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

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

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

時間: 佳洲1085 分享

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3592965