Ⅰ 6. 臨界區是指並發進程中訪問共享變數的()段. A,管理信息 B,信息存儲 C,數據 D,程序
一、單項選擇題(每題1分,共20分) 1.操作系統的發展過程是( C )
C、管理程序,原始操作系統,操作系統
2.用戶程序中的輸入、輸出操作實際上是由(B、操作系統 )完成。
3.進程調度的對象和任務分別是( C )。
C、進程,從就緒隊列中按一定的調度策略選擇一個進程佔用CPU 4.支持程序浮動的地址轉換機制是( A、動態重定位 )
5.在可變分區存儲管理中,最優適應分配演算法要求對空閑區表項按(C、尺寸從小到大)進行排列。
6.設計批處理多道系統時,首先要考慮的是( 系統效率和吞吐量 )。 7.當進程因時間片用完而讓出處理機時,該進程應轉變為( b )狀態。
A、等待 B、就緒 C、運行 D、完成 8.文件的保密是指防止文件被( c )。
A、篡改 B、破壞 C、竊取 D、刪除
9.若系統中有五個並發進程涉及某個相同的變數A,則變數A的相關臨界區是由( d )
臨界區構成。
A、2個 B、3個 C、4個 D、5個
10.按邏輯結構劃分,文件主要有兩類:(記錄式文件 )和流式文件。 A、記錄式文件 B、網狀文件 C、索引文件 D、流式文件
11.UNIX中的文件系統採用(、流式文件 )。
A、網狀文件 B、記錄式文件 C、索引文件 D、流式文件 12.文件系統的主要目的是(A、實現對文件的按名存取 )。 13.文件系統中用( D、目錄
)管理文件。
14.為了允許不同用戶的文件具有相同的文件名,通常在文件系統中採用(B、多級目
錄 )。
15.在多進程的並發系統中,肯定不會因競爭(C、CPU )而產生死鎖。
16.一種既有利於短小作業又兼顧到長作業的作業調度演算法是( C、最高響應比優先
)。17.兩個進程合作完成一個任務。在並發執行中,一個進程要等待其合作夥伴發來消息,或
者建立某個條件後再向前執行,這種制約性合作關系被稱為進程的( B、同步 )。18.當每類資源只有一個個體時,下列說法中不正確的是( )。
A、有環必死鎖 B、死鎖必有環
C、有環不一定死鎖 D、被鎖者一定全在環中
19.數據文件存放在到存儲介質上時,採用的邏輯組織形式是與(A、文件邏輯結構 )
有關的。
20.在單處理器的多進程系統中,進程什麼時候佔用處理器和能佔用多長時間,取決於(B、進程自身和進程調度策略 )。
二、填空題(每空2分,共20分)
1.若信號量S的初值定義為10,則在S上調用了16次P操作和15次V操作後S的值應
該為( 9 )。
2.進程調度的方式通常有(搶占 )和(非搶占)兩種方式。
3.每個索引文件都必須有一張( 索引結點 )表,其中的地址登記項用來指出文件在外存
上的位置信息。
4.在一請求分頁系統中,假如一個作業的頁面走向為:4、3、2、1、4、3、5、4、3、2、1、
5,當分配給該作業的物理塊數為4時(開始時沒有裝入頁面),採用LRU頁面淘汰演算法將產生( 8 )次缺頁中斷。
5.信號量被廣泛用於三個目的是( 同步 )、( 互斥 )和描述前趨關系。
6.程序並發執行時的特徵是( 間斷性 )、( 失去了封閉性 )、( 不可再現性 )和獨立性。 三、判斷題(每題1分,共10分)
( T )1.文件系統中分配存儲空間的基本單位不是記錄。 ( F )2.具有多道功能的操作系統一定是多用戶操作系統。
( T )3.虛擬存儲器是由操作系統提供的一個假想的特大存儲器,它並不是實際的內存,其大小可比內存空間大得多。
( T )4.批處理系統的(主要優點)是系統的吞吐量大、資源利用率高、系統的開銷較小。 ( F )5.文件系統中源程序是有結構的記錄式文件。
( F )6.即使在多道程序環境下,普通用戶也能設計用內存物理地址直接訪問內存的程序。 ( F
)7.順序文件適合建立在順序存儲設備上,而不適合建立在磁碟上。
( T )8.SPOOLing系統實現設備管理的虛擬技術,即:將獨占設備改造為共享設備。它由專門負責I/O的常駐內存進程以及輸入、輸出井組成。
( F )9.系統調用是操作系統與外界程序之間的介面,它屬於核心程序。在層次結構設計中,它最靠近硬體。
( F )10.若系統中存在一個循環等待的進程集合,則必定會死鎖。 四、程序與演算法(共10分)
設有一緩沖池P,P中含有20個可用緩沖區,一個輸入進程將外部數據讀入P,另有一
個輸出進程將P中數據取出並輸出。若講程每次操作均以一個緩沖區為單位,試用記錄型信號量寫出兩個進程的同步演算法,要求寫出信號量的初值。 解:
semaphore mutex=1; semaphore empty=20; semaphore full=0; int in,out = 0;
item p [20]; void Procer(){ while(ture){
procer an item in nextp; wait(empty); wait(mutex); p[in] := nextp; in :=
(in+1) mod 20; signal(mutex); signal(full); } }
void Consumer(){ while(ture){ wait(full); wait(mutex); nextc := p[out]; out
:= (out+1) mod 20; signal(mutex); signal(empty); } }
五、問答題(共16分)
某系統有A、B、C、D四類資源可供五個進程P1、P2、P3、P4、P5共享。系統對這四類資源的擁有量為:A類3個、B類14個、C類12個、D類12個。進程對資源的需求和分配
情況如下:
按銀行家演算法回答下列問題:
(1)現在系統中的各類資源還剩餘多少?(4分) (2)現在系統是否處於安全狀態?為什麼?(6分)
(3)如果現在進程P2提出需要A類資源0個、B類資源4個、C類資源2個和D類資源0個,系統能否去滿足它的請求?請說明原因。(6)
(1)A:1;B:5;C:2;D:0 (2)need矩陣為:P1 0 0 0 0 P2 0 7 5 0 P3 1 0 0 2 P4 0 0 2 0
P5 0 6 4 2
存在安全序列,如P1,P3
,P4,P5,P2,所以安全
(3)能,因為試探分配後,可用資源為1,1,0,0。可找到安全序列,所以可分配。六、計算題(第1題6分;第2題10分;第3題8分;共24分)
1、某虛擬存儲器的用戶編程空間共32個頁面,每頁為1KB,內存為16KB。假定某時刻一用戶頁表中已調入內存的頁面的頁號和物理塊號的對照表如下:
則邏輯地址0A5D(H)所對應的物理地址是什麼?(6分)
0A5D(H)=0000 1010 0101 1101
2號頁對應4號塊,所以物理地址是0001 0010 0101 1101
即125D(H)。
2、設有三道作業,它們的提交時間及執行時間由下表給出:
作業號 提交時間 執行時間
1 8.5 2.0
2 9.2 1.6
3 9.4 0.5
試計算在單道程序環境下,採用先來先服務調度演算法和最短作業優先調度演算法時的平均周轉時間
(時間單位:小時,以十進制進行計算;要求寫出計算過程)(10分)
FCFS: 作業號 提交時間 執行時間 開始時間 完成時間 周轉時間
1 8.5 2.0 8.5 10.5 2.0
2 9.2 1.6 10.5 12.1 2.9
3 9.4 0.5 12.1 12.6 3.2
平均周轉時間=(2.0+2.9+3.2)/3=2.7(小時)
SJF: 作業號 提交時間 執行時間 開始時間 完成時間 周轉時間
1 8.5 2.0 8.5 10.5 2.0
2 9.2 1.6 11.0 12.6 3.4
3 9.4 0.5 10.5 11.0 1.6
平均周轉時間=(2.0+3.4+1.6)/3=2.3(小時)
3、假定當前磁頭位於100號磁軌,進程對磁軌的請求序列依次為55,58,39,18,90,160,150,38,180。當採用先來先服務和最短尋道時間優先演算法時,總的移動的磁軌數分別是多少?(請給出尋道次序和每步移動磁軌數)(8分)
FCFS: 服務序列依次為:55,58,39,18,90,160,150,38,180
移動的磁軌數分別是: 45, 3, 19, 21, 72, 70, 10, 112,142
總的移動的磁軌數是:494
SSTF: 服務序列依次為:90,58,55,39,38,18,150,160,180
移動的磁軌數分別是: 10, 32, 3, 16, 1, 20, 132, 10, 20
總的移動的磁軌數是:244
Ⅱ 什麼是臨界區請舉一兩個例子.謝謝.
答:每個進程中訪問臨界資源的那段程序稱為臨界區(臨界資源是一次僅允許一個進程使用的共享資源).每次只准許一個進程進入臨界區,進入後不允許其他進程進入 .
getspace:
Begin local g
top=top-1
End
release(ad):
Begin
top』top十1
stack[top]=ad
End
Ⅲ 什麼是臨界區進程進入臨界區的調度原則是什麼
1、什麼是臨界區?
答:每個進程中訪問臨界資源的那段程序稱為臨界區(臨界資源是一次僅允許一個進程使用的共享資源)。每次只准許一個進程進入臨界區,進入後不允許其他進程進入。
2、進程進入臨界區的調度原則是:
①如果有若干進程要求進入空閑的臨界區,一次僅允許一個進程進入。②任何時候,處於臨界區內的進程不可多於一個。如已有進程進入自己的臨界區,則其它所有試圖進入臨界區的進程必須等待。③進入臨界區的進程要在有限時間內退出,以便其它進程能及時進入自己的臨界區。④如果進程不能進入自己的臨界區,則應讓出CPU,避免進程出現「忙等」現象。
Ⅳ 什麼叫做「臨界資源」什麼叫「臨界區」對臨界區的使用應符合哪些規則
臨界資源是指每次僅允許一個進程訪問的資源。
臨界區是指每個進程中訪問臨界資源的那段代碼。
臨界區的使用規則①空閑讓進②忙則等待③有限等待④讓權等待。
Ⅳ 臨界區的定義是什麼
臨界區指的是一個訪問共用資源(例如:共用設備或是共用存儲器)的程序片段,而這些共用資源又無法同時被多個線程訪問的特性。
當有線程進入臨界區段時,其他線程或是進程必須等待(例如:臨界區的定義是什麼,bounded waiting 等待法)。
有一些同步的機制必須在臨界區段的進入點與離開點實現,以確保這些共用資源是被互斥獲得使用。
例如:semaphore。只能被單一線程訪問的設備,例如:列印機。
每個進程中訪問臨界資源的那段代碼稱為臨界區(Critical Section)(臨界資源是一次僅允許一個進程使用的共享資源)。
每次只准許一個進程進入臨界區,進入後不允許其他進程進入。不論是硬體臨界資源,還是軟體臨界資源,多個進程必須互斥地對它進行訪問。
多個進程中涉及到同一個臨界資源的臨界區稱為相關臨界區。
Ⅵ 臨界區是指並發進程中訪問共享變數的什麼段
臨界區是指並發進程中訪問共享變數的程序段
Ⅶ 操作系統臨界區是什麼
操作系統為了處理無數多的進程,在系統中會由一個稱為“臨界區”的地方進行處理,下面由我為大家整理了操作系統兩個臨界區的相關知識,希望對大家有幫助。
1.操作系統臨界區是什麼
每個進程中訪問臨界資源的那段程序稱為臨界區(臨界資源是一次僅允許一個進程使用的共享資源)。每次只准許一個進程進入臨界區,進入後不允許其他進程進入。
2.操作系統臨界區的調度原則
①如果有若干進程要求進入空閑的臨界區,一次僅允許一個進程進入。
②任何時候,處於臨界區內的進程不可多於一個。如已有進程進入自己的臨界區,則其它所有試圖進入臨界區的進程必須等待。
③進入臨界區的進程要在有限時間內退出,以便其它進程能及時進入自己的臨界區。
④如果進程不能進入自己的臨界區,則應讓出CPU,避免進程出現“忙等”現象。
互斥對象是一種最簡單的內核對象,用它可以方便的實現對某一資源的互斥訪問。因為它是內核對象,因此可以產生信號,實際上,程序中就是利用這一點實現互斥的。
臨界區並不是內核對象,而是系統提供的一種數據結構,程序中可以聲明一個該類型變數,之後用它來實現對資源的互斥訪問。當欲訪問某一臨界資源時,先將該臨界區加鎖(如果臨界區不空閑,等待),用完該資源後,將臨界區釋放。
一般,將他們用於線程間的同步,而且通常可以互換使用。
如果要實現復雜互斥,應使用其它方法,如信號量內核對象等。臨界區對象不能跨越進程,是線程間共享數據區的同步對象;互斥對象可以作為進程間共享數據區的同步對象。
3.擴展閱讀:什麼是操作系統臨界資源
臨界資源是指每次僅允許一個進程訪問的資源。
屬於臨界資源的硬體有列印機、磁帶機等,軟體有消息緩沖隊列、變數、數組、緩沖區等。 諸進程間應採取互斥方式,實現對這種資源的共享。
Ⅷ 什麼是臨界區和臨界資源對臨界區管理的基本原則是什麼
1、臨界區指的是一個訪問共用資源(例如:共用設備或是共用存儲器)的程序片段,而這些共用資源又無法同時被多個線程訪問的特性。
當有線程進入臨界區段時,其他線程或是進程必須等待,有一些同步的機制必須在臨界區段的進入點與離開點實現,以確保這些共用資源是被互斥獲得使用。只能被單一線程訪問的設備,例如:列印機。
2、臨界資源:多道程序系統中存在許多進程,它們共享各種資源,然而有很多資源一次只能供一個進程使用。一次僅允許一個進程使用的資源稱為臨界資源。許多物理設備都屬於臨界資源,如輸入機、列印機、磁帶機等。
3、進程進入臨界區的調度原則是:
(1)如果有若干進程要求進入空閑的臨界區,一次僅允許一個進程進入。
(2)進入臨界區的進程要在有限時間內退出,以便其它進程能及時進入自己的臨界區。
(3)任何時候,處於臨界區內的進程不可多於一個。
(4)如果進程不能進入自己的臨界區,則應讓出CPU,避免進程出現「忙等」現象。
(8)臨界區是什麼程序段擴展閱讀
1、臨界區存在的問題
臨界區的退出,不會檢測是否是已經進入的線程,也就是說,可以在A線程中調用進入臨界區函數,在B線程調用退出臨界區的函數,同樣是成功。
臨界區內的數據一次只能同時被一個進程使用,當一個進程使用臨界區內的數據時,其他需要使用臨界區數據的進程進入等待狀態。
2、各進程採取互斥的方式,實現共享的資源稱作臨界資源。
屬於臨界資源的硬體有列印機、磁帶機等,軟體有消息緩沖隊列、變數、數組、緩沖區等。 諸進程間應採取互斥方式,實現對這種資源的共享。
Ⅸ 臨界資源與臨界區的區別
區別:臨界資源是網路設備,臨界區是網路程序代碼。
臨界資源是一個共享資源(例如列印機),但是這種資源一次只容許一個線程訪問,其他線程必須等待。每個進程中訪問臨界資源的那段代碼稱為臨界區。
例:辦公室共享的列印機就可以稱為臨界資源(因為列印機同一時間只支持一個用戶使用,其他用戶需要等待),而用戶訪問列印機的代碼就是臨界區。
Ⅹ 什麼是臨界區
臨界區是指不允許多個並發進程交叉執行的一段程序。它是由於不同並發進程的程序段共享公用數據或者公用數據變數而引起的。所以又被稱為訪問公用數據的那段程序。沒事可以多看看黑馬程序員官網的免費視頻,這些問題一套基礎視頻都可以解決。