第三章 處理機的調度與死鎖作業問題分析

有兩個作業A和B,分別在7:00和8:30到達系統,它們估計的計算時間分別爲0.8小時和0.1小時,系統在9:00開始以響應比高者優先算法進行調度。在單道系統中,作業A被選中時的響應比爲( ),作業B被選中時的響應比爲( )。(注意:答案保留小數點後三位小數。)

答案解析:9:00時,作業A的響應比=1+2/0.8=3.5
作業B的響應比=1+0.5/0.1=6
所以9:00時作業調度程序選中作業B
9:06作業B結束,調度作業A,此時作業A的響應比=1+2.1/0.8=3.625
綜上可知,在單道系統中A、B兩個作業被選中時的響應比分別爲3.625和6
響應比=1+等待時間/要求服務時間=1+(開始運行時間–提交時間)/要求服務時間

設系統中有P1、P2、P3三個進程,並按P1、P2、P3的優先次序調度運行,它們的內部計算和
I/O操作時間如下:
P1:計算60 ms-I/O 80 ms- -計算20 ms
P2:計算120 ms- -I/O 40ms- -計算40ms
P3:計算40 ms- -I/O 80ms一計算40ms
設調度程序執行時間忽略不計,完成這三個進程比單道運行節省的時間是(B )。
A 140ms B 160ms C170ms D180ms
P1:計算 60ms---
P1:I/O 80ms;同時P2:計算80ms剩40ms---
P1:計算20ms完成---
P2:計算40ms---
P2:I/O 40ms;同時P3:計算40ms---
P2:計算40ms;同時P3:I/O 40ms---
P3:I/O 40ms---
P3:計算40ms
共:60+80+20+40+40+40+40+40=360ms
單獨:60+80+20 + 120+40+40 + 40+80+40=520ms
所以節約了160ms

假設就緒隊列中有10個進程,系統將時間片設爲200ms,CPU進行進程切換要花費10ms。則系統銷佔的比率約爲(B)。
A、1% B、5% C、10% D、20%
系統開銷比率= 調度耗時/時間片長度:10/200 = 5%

爲每個服務的作業只建立一個進程,則爲了照顧“緊急作業用戶”應採用(D )調度策略。
A、FCFS B、SPF(最短作業優先法) C、時間片輪轉 D、優先級調度
因爲需要照顧緊急作業用戶,那麼就可以使用優先級調度,將緊急作業用戶的優先級提高,優先處理
先來先服務(FCFS: first come first service)

當進程調度採用最高優先級調度算法時,從保證系統效率的角度來看,應提高(B)進程的優先級。
A、連續佔用處理器時間長的 B、在就緒隊列中等待時間長的 C、以計算爲主的 D、用戶
如果低優先級進程一直處於就緒隊列而得不到調度,那麼系統的效率必定受到影響,在這種情況下,應該提高其優先級,使其得到調度;而連續佔用處理器時間的進程則應該相對降低其優先級。

15、進程P1使用資源情況:申請資源S1,申請資源S2,釋放資源S1;進程P2使用資源情況:申請資源S2,申請資源S1,釋放資源S2,系統併發執行進程P1,P2,系統將( B )。
A、必定產生死鎖 B、可能產生死鎖 C、會產生死鎖 D、無法確定是否會產生死鎖
資源競爭不一定必產生死鎖,需要看被競爭資源的類型與數量,如本題S1,S2的資源數量可能不爲一,資源類型也可能是共享型資源

16、通過破壞產生死鎖的四個必要條件之一,可以保證不讓死鎖發生,其中採用資源有序分配法是破壞( D)。
A、互斥條件 B、不可剝奪條件 C、部分分配條件 D、環路條件
產生死鎖的四個必要條件:(1) 互斥條件:一個資源每次只能被一個進程使用。(2) 請求與保持條件(部分分配條件):一個進程因請求資源而阻塞時,對已獲得的資源保持不放。(3) 不剝奪條件:進程已獲得的資源,在末使用完之前,問不能強行剝奪。(4) 循環等待條件(環路條件):若干進程之間形成一種頭答尾相接的循環等待資源關係。這四個條件是死鎖的必要條件,只要系統發生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會發生死鎖。

破壞“請求與保持條件”:(1)資源一次性分配(2)資源的部分分配;
破壞“不可搶佔”條件:實現複雜,代價龐大,一般不用;
破壞“循環等待”條件:資源有序分配法;

產生死鎖的主要原因是進程運行推進的順序不合適©
A、系統資源不足和系統中的進程太多
B、資源的獨佔性和系統中的進程太多
C、進程調度不當和資源的獨佔性
D、資源分配不當和系統資源不足
死鎖產生的原因有:競爭不可搶佔資源;競爭可消耗資源;進程推進順序不當

1、在實時系統中,進程調度應採用非剝奪優先
級調度算法。F
實時系統中的進程調度,通常採用 搶佔式的優先數高者優先算法。
實時系統爲了滿足用戶實時交互以及對重要事件的迅速反應,所以採取搶佔式的優先數高者優先。

2、在動態優先級調度中,隨着進程執行時間的
增加,其優先級降低。T

3、最短作業優先的調度算法是最優的作業調度
算法。F
視情況而定

4、產生死鎖的原因之一是計算機病毒被激活.F

5、產生死鎖的原因之一是進程推進的順序不合
適。T

6、死鎖與程序的死循環-樣。F
死循環是因爲算法設計導致,並非是得不到資源

7、若系統中存在一個循環等待的進程集合,則
必定會死鎖。F
產生死鎖的四個條件必須同時滿足纔可能會導致死鎖

8、僅當系統中存在需要互斥使用的資源時,系
統纔可能發生死鎖。F

爲每個服務的作業只建立一個進程,則爲了照顧“緊急作業用戶”應採用(D )調度策略。
A、FCFS B、SPF(最短作業優先法) C、時間片輪轉 D、優先級調度
因爲需要照顧緊急作業用戶,那麼就可以使用優先級調度,將緊急作業用戶的優先級提高,優先處理
先來先服務(FCFS: first come first service)

當進程調度採用最高優先級調度算法時,從保證系統效率的角度來看,應提高(B)進程的優先級。
A、連續佔用處理器時間長的 B、在就緒隊列中等待時間長的 C、以計算爲主的 D、用戶
如果低優先級進程一直處於就緒隊列而得不到調度,那麼系統的效率必定受到影響,在這種情況下,應該提高其優先級,使其得到調度;而連續佔用處理器時間的進程則應該相對降低其優先級。

15、進程P1使用資源情況:申請資源S1,申請資源S2,釋放資源S1;進程P2使用資源情況:申請資源S2,申請資源S1,釋放資源S2,系統併發執行進程P1,P2,系統將( B )。
A、必定產生死鎖 B、可能產生死鎖 C、會產生死鎖 D、無法確定是否會產生死鎖
資源競爭不一定必產生死鎖,需要看被競爭資源的類型與數量,如本題S1,S2的資源數量可能不爲一,資源類型也可能是共享型資源

16、通過破壞產生死鎖的四個必要條件之一,可以保證不讓死鎖發生,其中採用資源有序分配法是破壞( D)。
A、互斥條件 B、不可剝奪條件 C、部分分配條件 D、環路條件
產生死鎖的四個必要條件:(1) 互斥條件:一個資源每次只能被一個進程使用。(2) 請求與保持條件(部分分配條件):一個進程因請求資源而阻塞時,對已獲得的資源保持不放。(3) 不剝奪條件:進程已獲得的資源,在末使用完之前,問不能強行剝奪。(4) 循環等待條件(環路條件):若干進程之間形成一種頭答尾相接的循環等待資源關係。這四個條件是死鎖的必要條件,只要系統發生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會發生死鎖。

破壞“請求與保持條件”:(1)資源一次性分配(2)資源的部分分配;
破壞“不可搶佔”條件:實現複雜,代價龐大,一般不用;
破壞“循環等待”條件:資源有序分配法;

產生死鎖的主要原因是進程運行推進的順序不合適©
A、系統資源不足和系統中的進程太多
B、資源的獨佔性和系統中的進程太多
C、進程調度不當和資源的獨佔性
D、資源分配不當和系統資源不足
死鎖產生的原因有:競爭不可搶佔資源;競爭可消耗資源;進程推進順序不當

1、在實時系統中,進程調度應採用非剝奪優先
級調度算法。F
實時系統中的進程調度,通常採用 搶佔式的優先數高者優先算法。
實時系統爲了滿足用戶實時交互以及對重要事件的迅速反應,所以採取搶佔式的優先數高者優先。

2、在動態優先級調度中,隨着進程執行時間的
增加,其優先級降低。T

3、最短作業優先的調度算法是最優的作業調度
算法。F
視情況而定

4、產生死鎖的原因之一是計算機病毒被激活.F

5、產生死鎖的原因之一是進程推進的順序不合
適。T

6、死鎖與程序的死循環-樣。F
死循環是因爲算法設計導致,並非是得不到資源

7、若系統中存在一個循環等待的進程集合,則
必定會死鎖。F
產生死鎖的四個條件必須同時滿足纔可能會導致死鎖

8、僅當系統中存在需要互斥使用的資源時,系
統纔可能發生死鎖。F
僅當錯誤,死鎖也可能是因爲推進順序不恰當

9、系統出現死鎖當且僅當系統中存在需要互斥
使用的資源。F

10、死鎖是指因相互競爭資源使得系統中有多個阻塞
進程的情況。F
死鎖是指因相互競爭資源並且各進程推進不當使得系統中有多個阻塞進程相互等待的情況

11、若進程資源分配圖中含有圈,則一定有進
程處於死鎖狀態。F
資源分配圖中無圈一定不死鎖,有圈不一定死鎖,需要看資源數量以及化簡後是否還存在環

12、預防死鎖的發生可以通過破壞產生死鎖的
四個必要條件之- -或其中的幾個來實現. T

13、死鎖與等待的含義相同。F

14、在死鎖的解決方法中,由於避免死鎖採用靜態分
配資源策略,所以對資源的利用率不高。F
死鎖的避免是動態預防,因爲系統採用動態分配資源,在分配過程中預測出死鎖發生的可能性並加以避免。靜態分配資源策略是用在死鎖預防中,破壞“部分分配”條件。

15、若系統中併發運行的進程和資源之間滿足
互斥使用、保持和等待、非剝奪性和循環等待,
則可判定系統中發生了死鎖。F
注意進程和資源之間滿足互斥使用、佔有等待、非剝奪性和循環等待這4個條件,它們是死鎖發生的必要條件,而不是充分條件,因此該說法是錯誤的。

16、在對付死鎖的策略中,解除死鎖通常都是
和檢測死鎖配套使用。T

17、產生死鎖的原因可歸結爲競爭資源和進程
推進順序不當。T

1、在進程的輪轉調度算法中,如果時間片爲無窮大,則輪轉調度就變成 先來先服務 調度。

2、設某進程的訪問串爲:1,3,1,2,4,內存頁面數大小爲3,按FIFO頁面算法,當訪問4號頁面時,應淘汰 1 號頁面。
FIFO 先進先出

3、在一個單處理機系統中,若有5個用戶進程,且假設當前時刻爲用戶態,則處於就緒狀態的用戶進程最多有4個, 最少有0個。
4、進程調度負責處理機的分配工作。
5、在先來先服務調度算法中,按照進程進入就緒隊列的先後次序來分配處理機。

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