什么是臨界區?如何解決沖突(也就是臨界區的調度原則)?


每個進程中訪問臨界資源的那段程序稱為臨界區,每次只准許一個進程進入臨界區,進入后不允許其他進程進入。

① 如果有若干進程要求進入空閑的臨界區,一次僅允許一個進程進入。加鎖

② 任何時候,處於臨界區內的進程不可多於一個。如已有進程進入自己的臨界區,則其它所有試圖進入臨界區的進程必須等待。

③ 進入臨界區的進程要在有限時間內退出,以便其它進程能及時進入自己的臨界區一次只能進一個,不同的進程可能有相同的臨界區,不同用戶的不同任務之間的進程是有臨界區比如打印機,如打印程序是可以由不同用戶的不同進程使用,但是只能有一個進程在某一時刻進入。)

④ 如果進程不能進入自己的臨界區,則應讓出 CPU,避免進程出現“忙等”現象。

總結:互斥使用、有空讓進忙則等待、有限等待


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM