首頁 >運維 >linux運維 >linux 什麼是臨界區

linux 什麼是臨界區

藏色散人
藏色散人原創
2023-04-18 10:27:202432瀏覽

linux臨界區是指每個進程中存取臨界資源的那段程序,臨界資源是一次僅允許一個進程使用的共享資源;每次只準許一個進程進入臨界區,進入後不允許其他進程進入。

linux 什麼是臨界區

本教學操作環境:linux5.9.8系統、Dell G3電腦。

1、什麼是臨界區? 

答:每個行程中存取臨界資源的那段程式稱為臨界區(臨界資源是一次只允許一個行程使用的共享資源)。每次只準許一個行程進入臨界區,進入後不允許其他行程進入。 

2、進程進入臨界區的調度原則是: 

①如果有若干進程要求進入空閒的臨界區,一次只允許一個進程進入。 ②任何時候,處於臨界區內的進程不可多於一個。如已有進程進入自己的臨界區,則其它所有試圖進入臨界區的進程必須等待。 ③進入臨界區的進程要在有限時間內退出,以便其它進程能及時進入自己的臨界區。 ④如果進程無法進入自己的臨界區,則應讓出CPU,避免進程出現「忙等」現象。

互斥對像是一種最簡單的核心對象,用它可以方便的實現對某一資源的互斥存取。因為它是內核對象,因此可以產生訊號,實際上,程式中就是利用這一點來實現互斥的。   

  沒記錯的話,臨界區並不是核心對象,而是系統提供的一種資料結構,程式中可以宣告一個該類型變量,之後用它來實現對資源的互斥存取。當欲存取某一臨界資源時,先將該臨界區加鎖(如果臨界區不空閒,等待),用完該資源後,將臨界區釋放。   

  一般,將他們用於執行緒間的同步,而且通常可以互換使用。   

  若要實現複雜互斥,應使用其它方法,如信號量核心物件等。臨界區物件不能跨越進程,是執行緒間共享資料區的同步物件;互斥物件可以作為進程間共享資料區的同步物件。

推薦學習:《linux影片教學

以上是linux 什麼是臨界區的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn