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