操作系統練習題及答案——第三章 處理機調度與死鎖(CPU調度)

計算機操作系統第三章練習題

一、選擇題
1、在爲多道程序所提供的可共享的系統資源不足時,可能出現死鎖。但是,不適當的( A )也可能產生死鎖。
A. 進程推進順序 B. 進程優先權
C. 分配隊列優先權 D. 資源的線性分配
2、採用資源剝奪法可解除死鎖,還可以採用( D )方法解除死鎖。
A. 執行並行操作 B. 修改信號量
C. 拒絕分配新資源 D. 撤消進程
3、產生死鎖的四個必要條件是:互斥、( B )、循環等待和不剝奪。
A. 請求與釋放 B. 請求與保持 C. 請求與阻塞 D. 釋放與阻塞
4、發生死鎖的必要條件有四個,要防止死鎖的發生,可以破壞這四個必要條件,但破壞( D )條件是不太實際的。
A. 不可搶佔 B. 部分分配 C. 循環等待 D. 互斥
5、在分時操作系統中,進程調度經常採用( B )算法。
A. 先來先服務 B. 時間片輪轉 C. 最高優先權 D. 隨機
6、資源的按序分配策略可以破壞( D )的條件。
A. 互斥使用資源 B. 非搶奪資源
C. 佔有且等待資源 D. 環路等待資源
7、銀行家算法是一種( B )算法。
A. 死鎖解除 B. 死鎖避免 C. 死鎖檢測 D. 死鎖預防
8、( C )優先權是在創建進程時確定的,確定之後在整個進程運行期間不再改變。
A. 短作業 B. 先來先服務 C. 靜態 D. 動態
9、系統中有3個併發進程,都需要同類資源4個,試問該系統不會發生死鎖的最少資源數是( D )。
A. 12 B. 11 C. 9 D. 10
10 、在下列解決死鎖的方法中,屬於死鎖預防策略的是( A )。
A. 資源有序分配法 B. 死鎖檢測法
C. 銀行家算法 D. 資源分配圖化簡法
11、( C )是作業存在的惟一標誌。
A. 進程控制塊 B. 程序名 C. 作業控制塊 D. 作業名
12、三個進程A、B、C對某類資源的需求分別是7個、8個、3個。且目前已分別得到了3個、3個和2個資源,若系統還至少能提供( C )個資源,則系統是安全的。
A. 1 B. 5 C. 2 D. 10
13、系統中有某類資源12個供若干進程共享,若每個進程申請的資源量不超過4個,則最多允許( D )個進程共享資源就可以保證系統是安全的。
A. 12 B. 5 C. 4 D. 3
14、在各種作業調度算法中,若所有作業同時到達,則平均等待時間最短的算法是( B )。
A. 先來先服務 B. 短作業優先 C. 最高響應比優先 D. 優先數
15、既考慮作業等待時間,又考慮作業執行時間的調度算法是( A )。
A. 響應比高者優先 B. 先來先服務
C. 短作業優先 D. 優先級調度
16、( C )是指從作業提交給系統到作業完成的時間間隔。
A. 等待時間 B. 運行時間 C. 週轉時間 D. 響應時間
17、下述作業調度算法中,( C )調度算法與作業的估計運行時間有關。
A. 先來先服務 B. 時間片輪轉 C. 短作業優先 D. 均衡
18、當前運行的進程( A),將引發系統進行進程調度。
A. 執行了一條I/O指令
B. 執行程序期間發生了I/O完成中斷
C. 執行了一條轉移指令
D. 要求增加主存空間,經系統調用銀行家算法進行測算認爲是安全的
19、分時系統中的當前運行進程連續獲得了兩個時間片,原因可能是( A )。
A. 就緒隊列爲空 B. 該進程是一個短進程
C. 該進程的優先級最高 D. 該進程最早進入就緒隊列
20、進程調度又稱爲低級調度.其主要功能是( C )。
A. 選擇一個外存中的進程調入到主存
B. 選擇一個主存中的進程調出到外存
C. 將一個就緒的進程投入運行
D. 選擇一個作業調人內存
21、若進程P一旦被喚醒就能夠投入運行,系統可能爲( B )。
A. 就緒隊列爲空隊列
B. 在搶佔調度方式中,P的優先級高於當前運行的進程
C. 進程P的優先級最高
D. 在搶佔調度方式中,就緒隊列中所有進程的優先級皆比P的低
22、下列進程調度算法中,( A )可能會出現進程長期得不到調度的情況。
A. 非搶佔式靜態優先權法 B. 時間片輪轉調度算法
C. 非搶佔式動態優先權法 D. 搶佔式靜態優先權法
23、如果發現系統有( B )的進程隊列就說明系統有可能發生死鎖了。
A. 可剝奪 B. 循環等待 C. 同步 D. 互斥
24、設系統中有N(N>2)個進程,則系統中最不可能的是有( A )個進程處於死鎖狀態。
A. 1 B. 2 C. 0 D. M(2<=N)
25、兩個進程爭奪同一個資源( D )。
A. 以上說法都不對 B. 一定死鎖
C. 不死鎖 D. 不一定死鎖
26、在下列敘述中,錯誤的一條是(D )。
A. 設備獨立性是指用戶在編程時,程序中所使用的設備與實際設備無關
B. 進程的互斥和同步都能用P/V原語實現
C. 用戶程序中執行系統調用命令時,處理機的狀態字將發生改變
D. 進程被撤銷時,只需釋放該進程的PCB就可以了,因爲PCB是進程存在的唯一標誌
二、填空題
1、低級調度也稱爲( 進程)調度,常採用( 搶佔 )和( 非搶佔 )兩種調度方式。
2、如果要求所有進程一次性申請它所需要的全部資源。若系統有足夠的資源分配給進程,便一次把所有的資源分配給該進程。但在分配時只要有一種資源要求不能滿足,則資源全不分配,進程等待。這種死鎖預防方法破壞了死鎖產生必要條件中的(請求與保持 )條件。
3、進程調度算法採用時間片輪轉法時,時間片過大,就會使輪轉法變化爲(FCFSI先來先服務 )調度算法。
4、採用有序分配策略可以防止死鎖,但是實現該策略時最大的困難是(如何確定資源的編號 )。
5、操作系統中解決死鎖問題的方法有3種,即( 死鎖預防 ),( 死鎖避免 )和 ( 死鎖解除 )。
6、引入中級調度的目的是提高( 內存利用率 )和 ( 系統吞吐量 ) 。
答案:內存利用率, 系統吞吐量
7、在 (FCFSI先來先服務 )調度算法中,按照進程進入就緒隊列的先後次序來分配處理機。
8、對待死鎖,一般應考慮死鎖的預防、避免、檢測和解除四個問題。典型的銀行家算法是屬於( 避免 ),破壞環路等待條件是屬於( 預防 ),而剝奪資源是( 解除 )的基本方法。
9、銀行家算法中,當一個進程提出的資源請求將導致系統從( 安全狀態 )進入 (不安全狀態 )時,系統就拒絕它的資源請求。
10、死鎖是指在系統中的多個( 進程 )無限期地等待永遠不會發生的條件。
11、作業調度又稱( 高級
調度 )。其主要功能是( 接納作業 ),併爲作業做好運行前的準備工作和作業完成後的善後處理工作。
三、判斷題(回答“是”或“非”)
1、資源要求多的作業,其優先權應高於資源要求少的作業。非
2、安全狀態是沒有死鎖的狀態,非安全狀態是有可能死鎖的狀態。是
3、當檢測出發生死鎖時,可以通過撤消一個進程解除死鎖。非
4、在動態優先權時,隨着進程執行時間的增加,其優先權降低。是
5、以優先級爲基礎的進程調度算法可以保證在任何時候正在運行的進程總是所有就緒進程中優先級最高的進程。非
6、實時系統中的優先級倒置是指高優先級進程被低優先級進程延遲或阻塞。是
7、長作業的優先權,應高於短作業的優先權。非
8、在動態優先權中,隨着作業等待時間的增加,其優先權將隨之增加。是
9、計算型作業的優先權,應高於I/O型作業的優先權。非
10、實時系統中的優先級導致問題是指優先數越大優先權越低。非
11、根據死鎖定理,一個狀態爲死鎖狀態的充分條件是當且僅當該狀態的資源分配圖是不可完全簡化時。是
12、安全狀態是可能有死鎖的狀態,非安全狀態也可能有死鎖的狀態。非
13、用戶進行的優先權,應高於系統進程的優先權。非
14、在多道程序環境中,不會因爲競爭可搶佔性資源而產生死鎖。是
四、簡答題
1、什麼是死鎖?
線程死鎖是指由於兩個或者多個線程互相持有對方所需要的資源,導致這些線程處於等待狀態,無法前往執行。當線程進入對象的synchronized代碼塊時,便佔有了資源,直到它退出該代碼塊或者調用wait方法,才釋放資源,在此期間,其他線程將不能進入該代碼塊。當線程互相持有對方所需要的資源時,會互相等待對方釋放資源,如果線程都不主動釋放所佔有的資源,將產生死鎖
2、引起進程調度的因素有哪些?
(1)正在執行的進程執行完畢。這時,如果不選擇新的就緒進程執行,將浪費處理機資源。
  (2)執行中進程自己調用阻塞原語將自己阻塞起來進入睡眠等狀態。
  (3)執行中進程調用了P原語操作,從而因資源不足而被阻塞;或調用了v原語操作激活了等待資源的進程隊列。
  (4)執行中進程提出I/O請求後被阻塞。
  (5)在分時系統中時間片已經用完。
  (6)在執行完系統調用等系統程序後返回用戶進程時,這時可看作系統進程執行完畢,從而可調度選擇一新的用戶進程執行。
  (7)就緒隊列中的某進程的優先級變得高於當前執行進程的優先級,從而也將引發進程調度。

3、產生死鎖的原因和必要條件是什麼?
因競爭資源發生死鎖 現象:系統中供多個進程共享的資源的數目不足以滿足全部進程的需要時,就會引起對諸資源的競爭而發生死鎖現象
產生死鎖的四個必要條件
互斥條件
請求和保持條件
不可剝奪條件
循環等待條件
4、說明解決死鎖問題可以通過哪些方法。
1.破壞“請求和保持”條件
2.破壞“不可搶佔條件“
3.破壞“循環等待”進程
五、應用題
1、假設一個系統中有5個作業A,B,C,D,E,他們的提交時間、運行時間和優先數如下表所示。忽略I/O以及其他開銷時間,若分別採用先來先服務,短作業優先調度算法進行CPU調度,請給出各作業的完成時間、週轉時間、帶權週轉時間、平均週轉時間和平均帶權週轉時間。
作業 提交時間 運行時間 優先數
A 0 3 3
B 2 8 5
C 3 6 2
D 5 5 1
E 8 4 4
進程的執行時間+每個進程的等待時間
①優先級調度:B,E,A,D,C,週轉時間=7+4+2+6+5+4+9+16+22+24=99,平均週轉時間=99/5=19.8
②最短進程優先調度:C,B,E,D,A,週轉時間=7+4+2+6+5+2+6+11+17+24=84,平均週轉時間=84/5=16.8
2、設系統有4種類型的資源,現在有5個進程P1、P2、P3、P4、P5,在T0時刻系統狀態圖如下表所示。若系統採用銀行家算法,實施死鎖避免策略。問:
(1)T0時刻是否爲安全狀態?若是,給出安全序列。
(2)在T0時刻,若進程P2請求資源(2,0,1,3),能否實施資源分配?爲什麼?
資源
進程 Allocation Need Available
A B C D
A B C D A B C D
P1 3 2 0 0 1 2 0 0 2 2 1 6
P2 0 0 1 0 5 0 1 7
P3 5 4 1 3 5 6 2 3
P4 3 2 0 3 5 2 0 0
P5 1 4 0 0 5 6 0 6

(1)是,P1》P4》P5》P2》P3
(2)requestij2213《=need5017不符合 認爲出錯 因爲它所需要的資源數超過它所宣佈的最大值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章