1. 程式人生 > >計算機操作系統第三章自測題-處理機調度與死鎖

計算機操作系統第三章自測題-處理機調度與死鎖

安全性 改進 nbsp float 多個進程 隨著 策略 屬於 所有

1、在單處理器的多進程系統中,進程什麽時候占有處理器以及決定占用時間的長短是由( )決定的。

A、進程運行時間    B、進程的特點和進程調度策略

C、進程執行的代碼   D、進程完成什麽功能

進程調度的時機與進程特點有關,如進程是否為CPU繁忙型還是I/O繁忙型、自身的優先級等。但是僅這些特點是不夠的,能否得到調度還取決於進程調度策略,若采用優先級調度算法,則進程的優先級才起作用。至於占用處理器運行時間的長短,則要看進程自身,若進程是I/O繁忙型,運行過程中要頻繁訪問I/O端口,也就是說,可能會頻繁放棄CPU。所以,占用CPU的時間就不會長,一旦放棄CPU,則必須等待下次調度。若進程是CPU繁忙型,則一旦占有CPU就可能會運行很長時間,但是運行時間還取決於進程調度策略,大部分情況下,交互式系統為改善用戶的響應時間,大多數采用時間片輪轉的算法,這種算法在進程占用CPU達到一定時間後,會強制將其換下,以保證其他進程的CPU使用權。所以選擇B選項。

2、時間片輪轉算法是為了(

A、多個用戶能及時幹預系統   B、優先級較高的進程能得到及時響應

C、是系統變得更為高效     D、需要CPU時間最少的進程最先執行

時間片輪轉的主要目的是使得多個交互的用戶能夠得到及時響應,使得用戶以為“獨占”計算機的使用。因此它並沒有偏好,也不會對特殊進程做特殊服務。時間片輪轉增加了系統開銷,所以不會使得系統高效運轉,吞吐量和周轉時間均不如批處理。但是其較快速的響應時間使得用戶能夠與計算機進行交互,改善了人機環境,滿足用戶需求。

3、( )有利於CPU繁忙型的作業,而不利於I/O繁忙型的作業。

A、時間片輪轉算法   B、先來先服務調度算法

C、短作業優先算法  

D、優先級調度算法

先來先服務(FCFS)調度算法是一種最簡單的調度算法,當在作業調度中采用該算法時,每次調度是從後備作業隊列中選擇一個或多個最先進入該隊列的作業,將它們調入內存,為它們分配資源、創建進程,然後放入就緒隊列。
FCFS調度算法比較有利於長作業,而不利於短作業。所謂CPU繁忙型的作業,是指該類作業需要大量的CPU時間進行計算,而很少請求I/O操作。I/O繁忙型的作業是指CPU處理時,需頻繁的請求I/O操作。所以CPU繁忙型作業更接近於長作業。答案選擇B選項。

4、為了照顧短作業用戶應采用( B )調度算法;為了能實現人機交互應采用( D )調度算法;既能使短作業用戶滿意又能使長作業用戶滿意應采用(

C )調度算法。

AFCFS(先來先服務)   BSJF(短作業優先)   CHRRN(高響應比優先)   DRR(時間片輪轉)

照顧短作業用戶,選擇短作業優先調度算法(SJF);照顧緊急作業用戶,即選擇優先級高的作業優先調度,采用基於優先級的剝奪調度算法();實現人機交互,要保證每個作業都能在一定時間內輪到,采用時間片輪轉法(RR);使各種作業用戶滿意,要處理多級反饋,所以選擇多級反饋隊列調度算法。

5、有三個作業分別為J1J2J3,其運行時間分別為2h5h3h,假定它們能同時達到,並在同一臺處理器上以單方式運行,則平均周轉時間最小的執行順序為( J1,J3,J2

本題目考查平均周轉時間的計算。(J1,J3,J2)所對應的平均周轉時間為(2+2+3+2+3+5)/3=17/3。

技術分享圖片技術分享圖片

6、關於優先權大小的論述中,正確的是(

A、資源要求多的作業優先權應高於資源要求少的作業優先權

B、用戶進程的優先權,應高於系統進程的優先權

C、在動態優先權中,隨著作業等待時間的增加,其優先權將隨之下降

D、在動態優先權中,隨著作業執行時間的增加,其優先權將隨之下降

系統進程的優先權應高於用戶進程的優先權。作業的優先權與長作業、短作業或者是系統資源要求的多少沒有必然的關系。在動態優先權中,隨著進程執行時間的增加其優先權隨之降低,隨著作業等待時間的增加其優先權應上升。

7、進程調度算法采用固定時間片輪轉調度算法,當時間片過大時,就會使時間片輪轉算法轉化為( )調度算法。

AHRRN   BFCFS   CSPF   D、優先級

時間片輪轉調度算法在實際運行中也是按先後順序使用時間片,當時間片過大時,我們可以認為其大於進程需要的運行時間,即轉變為先來先服務調度算法。

8、在調度算法中,對短進程不利的是( )調度算法。

ASPF   BFCFS   CHRRN   D、多級反饋隊列

先來先服務調度算法中,若一個長進程(作業)先到達系統,就會使後面許多短進程(作業)等待很長時間,因此對短進程(作業)不利。

9、下列選項中,滿足短任務優先且不會發生饑餓現象的調度算法是( B ),最有利於提高系統吞吐量的調度算法是( D

A、FCFS   B、 HRRN   C、 RR   D、SJ(P)F

由於響應比等於等待時間加上服務時間再除以服務時間,所以等待時間相同時,短作業的響應比更大,能優先獲得時間片,另一方面,當服務時間相同時,等待時間越長,響應比越大,所以同時照顧了長作業。

10、下列調度算法中,下列選項中,不可能導致饑餓現象的調度算法是( )。

A、RR   B、靜態優先數調度  C、非搶占式短作業優先   D、搶占式短作業優先

采用靜態優先級調度時,當系統總是出現優先級高的任務時,優先級低的任務會總是得不到處理機而產生饑餓現象;而短任務優先調度不管是搶占式或是非搶占的,當系統總是出現新來的短任務時,長任務會總是得不到處理機,產生饑餓現象,因此B、C、D都錯誤,選A。

11、一個進程的讀磁盤操作完成後,操作系統針對該進程必做的是( )。

A、修改進程狀態為就緒態    B、降低進程優先級

C、給進程分配用戶內存空間   D、增加進程時間片大小

進程申請讀磁盤操作的時候,因為要等待I/O完成,將自身阻塞,進入阻塞態。當 I/O完成之後,從阻塞進入就緒態

12、采用時間片輪轉調度算法分配CPU時,當處於運行狀態的進程用完一個時間片後,它的狀態是( )狀態。

A阻塞   B運行   C就緒   D消亡

處於運行狀態的進程用完一個時間片後,它的狀態會變為就緒狀態等待下一次處理器調度。當進程執行完最後的語句並使用系統調用exit,請求操作系統刪除它或出現一些異常情況時,進程才會終止。

13、下列情況會導致系統發生死鎖的是( )。

A、進程釋放資源            B、一個進程進入死循環

C、多個進程競爭資源出現了循環等待   D、多個進程競爭使用共享型的設備

死鎖:是指多個進程在運行過程中因爭奪資源而造成的一種僵局,當進程處於這種僵持狀態時,若無外力作用,它們都將無法再向前推進(即都不能繼續執行)。 定義中須註意的幾點: 多個進程:只有多個進程在同時運行時才可能 出現爭奪資源的情況; 爭奪資源:有限資源; 僵持狀態:無休止的等待。

兩個或兩個以上並發進程,如果每個進程持有某種資源,而又等待著別的進程釋放它或它們現在保持著的資源,否則就不能向前推進,此時,每個進程都占用了一定的資源,但又都不能向前推進。這種現象稱為死鎖。
死鎖的起因:(1)互斥條件;(2)不可剝奪條件;(3)部分分配;(4)環路條件。

14、對資源采用按序分配策略能達到( )的目的。

A、預防死鎖   B、避免死鎖   C、檢測死鎖   D、解除死鎖

對於死鎖的預防可以采取3種措施:

采用資源的靜態預分配策略,破壞“部分分配”條件;

允許進程剝奪使用其它進程占有的資源,從而破壞“不可剝奪”條件;

采用資源有序分配法,破壞“環路”條件。

15、死鎖預防是保證系統不進入死鎖狀態的靜態策略,其解決辦法是破壞產生死鎖的4個必要條件之一,下列辦法中破壞了循環等待條件的是( )。

A、銀行家算法   B、一次性分配策略   C、剝奪資源法   D、資源有序分配策略

循環等待是死鎖的一個條件,一個確保此條件不成立的方法是對所有的資源類型進行完全排序,且要求每個進程按遞增順序來申請資源。

破壞“請求和保持”條件,采取一次性分配策略(也叫靜態分配策略)。或者允許進程只獲得運行初期所需資源,運行過程中逐步釋放已用完資源,然後再請求新的資源。

銀行家算法是避免死鎖算法。

16、銀行家算法是一種( )算法。

A、預防死鎖  B、避免死鎖   C、檢測死鎖   D、解除死鎖

銀行家算法是一種最有代表性的避免死鎖的算法。在避免死鎖方法中允許進程動態地申請資源,但系統在進行資源分配之前,應先計算此次分配資源的安全性,若分配不會導致系統進入不安全狀態,則分配,否則等待。

17、在下列解決死鎖的方法中,屬於死鎖預防策略的是( )。

A、銀行家算法     B、一次性分配策略

C、資源分配圖簡化   D、死鎖檢測

在解決死鎖的方法中,死鎖的預防是設法減少破壞產生死鎖的必要條件之一。銀行家算法屬於死鎖的避免,不很嚴格地限制產生死鎖的必要條件的存在,而是在系統運行過程中小心地避免死鎖的最終發生。死鎖檢測算法,允許死鎖發生,定期檢測。所以,只有資源有序分配法屬於預防死鎖的策略。

18、某系統有n臺互斥使用的同類設備,三個並發進程分別需要 345 臺設備,可確保系統不發生死鎖的設備數 n 最小為( )。

A9   B10   C11   D12

極端狀態下:

進程1(3臺):申請到2臺,無法工作;

進程2(4臺):申請到3臺,無法工作;

進程3(5臺):申請到4臺,無法工作;

申請總數:2+3+4=9,此時若只有9臺,3個進程持續申請且申請不到,造成死鎖。

所以必須再空出一臺。

19、某計算機系統中有 8 臺打印機,由 K 個進程競爭使用,每個進程最多需要 3 臺打印機。該系統可能會發生死鎖的 K 的最小值是( )。

A2   B3   C4   D5

最多每個進程需要3臺。先實際分配給每個進程2臺。設最多X臺不死鎖。有如下等式:

2*X + 1 <= 8 得出 X=3

題目問的是:最少多少個進程使得會發生死鎖。

故 X+1 = 4 個進程。

20、死鎖與安全狀態的關系是( )。

A.死鎖狀態有可能是安全狀態   B安全狀態有可能成為死鎖狀態

C.不安全狀態就是死鎖狀態    D死鎖狀態一定是不安全狀態

並非所有的不安全狀態都是死鎖狀態,但當系統進入不安全狀態後,便可能進入死鎖狀態;反之,只要系統處於安全狀態,系統便可以避免進入死鎖狀態;死鎖狀態必定是不安全狀態。

21、下列關於死鎖的說法正確的是( )。

I.死鎖狀態一定是不安全狀態

II.系統資源分配不足和進程推進順序非法是產生死鎖的原因

III.資源的有序分配策略可以破壞死鎖的循環等待條件

IV.采用資源剝奪方法可以解除死鎖,還可以采用撤銷進程方法解除死鎖

AⅠ   BⅠ、Ⅱ   CⅠ、Ⅲ   DⅠ、Ⅱ、Ⅲ、Ⅳ

二、綜合應用題

1、假設在一個處理機上執行5個作業,作業的到達時間和運行時間分別如表所示:

技術分享圖片

分別采用FCFSSJFHRRN算法,作業的執行順序和平均周轉時間是多少?

.

2、設系統中有三類資源ABC5個進程P1P2P3P4P5,在T0時刻系統狀態如下:(1)給出T0時刻各進程的資源需求量NEED

2)系統是否處於安全狀態?如是,則給出進程安全序列。

3在T1時刻如果進程P2申請1A類資源、1B類資源,能否實施分配?為什麽?

技術分享圖片

.

計算機操作系統第三章自測題-處理機調度與死鎖