操作系統(tǒng)臨界區(qū)是什么
操作系統(tǒng)臨界區(qū)是什么
操作系統(tǒng)為了處理無數多的進程,在系統(tǒng)中會由一個稱為“臨界區(qū)”的地方進行處理,下面由學習啦小編為大家整理了操作系統(tǒng)兩個臨界區(qū)的相關知識,希望對大家有幫助。
1.操作系統(tǒng)臨界區(qū)是什么
每個進程中訪問臨界資源的那段程序稱為臨界區(qū)(臨界資源是一次僅允許一個進程使用的共享資源)。每次只準許一個進程進入臨界區(qū),進入后不允許其他進程進入。
2.操作系統(tǒng)臨界區(qū)的調度原則
①如果有若干進程要求進入空閑的臨界區(qū),一次僅允許一個進程進入。
?、谌魏螘r候,處于臨界區(qū)內的進程不可多于一個。如已有進程進入自己的臨界區(qū),則其它所有試圖進入臨界區(qū)的進程必須等待。
?、圻M入臨界區(qū)的進程要在有限時間內退出,以便其它進程能及時進入自己的臨界區(qū)。
?、苋绻M程不能進入自己的臨界區(qū),則應讓出CPU,避免進程出現“忙等”現象。
互斥對象是一種最簡單的內核對象,用它可以方便的實現對某一資源的互斥訪問。因為它是內核對象,因此可以產生信號,實際上,程序中就是利用這一點實現互斥的。
臨界區(qū)并不是內核對象,而是系統(tǒng)提供的一種數據結構,程序中可以聲明一個該類型變量,之后用它來實現對資源的互斥訪問。當欲訪問某一臨界資源時,先將該臨界區(qū)加鎖(如果臨界區(qū)不空閑,等待),用完該資源后,將臨界區(qū)釋放。
一般,將他們用于線程間的同步,而且通常可以互換使用。
如果要實現復雜互斥,應使用其它方法,如信號量內核對象等。臨界區(qū)對象不能跨越進程,是線程間共享數據區(qū)的同步對象;互斥對象可以作為進程間共享數據區(qū)的同步對象。
3.擴展閱讀:什么是操作系統(tǒng)臨界資源
臨界資源是指每次僅允許一個進程訪問的資源。
屬于臨界資源的硬件有打印機、磁帶機等,軟件有消息緩沖隊列、變量、數組、緩沖區(qū)等。 諸進程間應采取互斥方式,實現對這種資源的共享。