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