免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
進(jìn)程管理--練習(xí)題

1.在進(jìn)程管理中,當(dāng)  C  時(shí),進(jìn)程從阻塞狀態(tài)變?yōu)榫途w狀態(tài)。

A.進(jìn)程被進(jìn)程調(diào)度程序選中           B.等待某一事件

C.等待的事件發(fā)生                   D.時(shí)間片用完

2.分配到必要的資源并獲得處理機(jī)時(shí)的進(jìn)程狀態(tài)是  B 

A.就緒狀態(tài)        B.執(zhí)行狀態(tài)        C.阻塞狀態(tài)        D.撤消狀態(tài)

3.P、V操作是  A 

A.兩條低級(jí)進(jìn)程通信原語             B.兩組不同的機(jī)器指令

C.兩條系統(tǒng)調(diào)用命令                 D.兩條高級(jí)進(jìn)程通信原語

4.設(shè)系統(tǒng)中有n(n>2)個(gè)進(jìn)程,且當(dāng)前不在執(zhí)行進(jìn)程調(diào)度程序,試考慮下述4種情況,

不可能發(fā)生的情況是  A 

A.沒有運(yùn)行進(jìn)程,有2個(gè)就緒進(jìn)程,n個(gè)進(jìn)程處于等待狀態(tài)。

B.有1個(gè)運(yùn)行進(jìn)程,沒有就緒進(jìn)程,n-1個(gè)進(jìn)程處于等待狀態(tài)。

C.有1個(gè)運(yùn)行進(jìn)程,有1個(gè)就緒進(jìn)程,n-2個(gè)進(jìn)程處理等待狀態(tài)。

D.有1個(gè)運(yùn)行進(jìn)程,n-1個(gè)就緒進(jìn)程,沒有進(jìn)程處于等待狀態(tài)。

5.若P、V操作的信號(hào)量S初值為2,當(dāng)前值為-1,則表示有  B  等待進(jìn)程。

A. 0個(gè)           B. 1個(gè)           C. 2個(gè)           D. 3個(gè)

6.進(jìn)程的三個(gè)基本狀態(tài)在一定條件下可以相互轉(zhuǎn)化,進(jìn)程由就緒狀態(tài)變?yōu)檫\(yùn)行狀態(tài)的條件是    D 。

A.時(shí)間片用完                       B.等待某事件發(fā)生

C.等待的某事件已發(fā)生               D.被進(jìn)程調(diào)度程序選中

7.進(jìn)程的三個(gè)基本狀態(tài)在一定條件下可以相互轉(zhuǎn)化,進(jìn)程由運(yùn)行狀態(tài)變?yōu)樽枞麪顟B(tài)的條件是   B  。

A.時(shí)間片用完                       B.等待某事件發(fā)生

C.等待的某事件已發(fā)生               D.被進(jìn)程調(diào)度程序選中

8.下列的進(jìn)程狀態(tài)變化中, C 變化是不可能發(fā)生的。

A.運(yùn)行à就緒     B.運(yùn)行à就緒     C.等待à運(yùn)行     D.等待à就緒

9.一個(gè)運(yùn)行的進(jìn)程用完了分配給它的時(shí)間片后,它的狀態(tài)變?yōu)?span style="text-decoration:underline;">   A  。

A.就緒            B.等待            C.運(yùn)行            D.由用戶自己確定

10.用V操作喚醒一個(gè)等待進(jìn)程時(shí),被喚醒進(jìn)程的狀態(tài)變?yōu)?span style="text-decoration:underline;">   B   。

A.等待            B.就緒            C.運(yùn)行            D.完成

11.操作系統(tǒng)通過  B  對(duì)進(jìn)程進(jìn)行管理。

A. JCB            B. PCB            C. DCT            D. CHCT

12.用P、V操作可以解決  A 互斥問題。

A. 一切           B. 某些           C. 正確           D. 錯(cuò)誤

13.一個(gè)進(jìn)程被喚醒意味著  D 

A. 該進(jìn)程重新占有了CPU             B. 它的優(yōu)先權(quán)變?yōu)樽畲?span>

C. 其PCB移至等待隊(duì)列隊(duì)首          D. 進(jìn)程變?yōu)榫途w狀態(tài)

14.多道程序環(huán)境下,操作系統(tǒng)分配資源以 C  為基本單位。

A. 程序           B. 指令           C. 進(jìn)程           D. 作業(yè)

15. 從靜態(tài)的角度看,進(jìn)程是由(A)、(B)、(C)三部分組成的,其中(C)是進(jìn)程存在的唯一標(biāo)志。當(dāng)幾個(gè)進(jìn)程共享(A)時(shí),(A)應(yīng)當(dāng)是可重入代碼。

A程序段;

B數(shù)據(jù)段;

CPCB

16. 進(jìn)程的三個(gè)基本狀態(tài)是(A)、(B)、(C)。由(A)到(B)是由進(jìn)程調(diào)度所引起的;由(B)到(C)是正在執(zhí)行的進(jìn)程發(fā)生了某事件,使之無法繼續(xù)執(zhí)行而引起的。

A就緒;

B執(zhí)行;

C阻塞;

17. 正在等待他人釋放臨界資源的進(jìn)程處于(A)狀態(tài),已分配到除CPU外的所有資源的進(jìn)程處于(B)狀態(tài),已獲得CPU的進(jìn)程處于(C)狀態(tài)。

A阻塞

B就緒;

C執(zhí)行;

18. 下列進(jìn)程狀態(tài)轉(zhuǎn)換中,絕對(duì)不可能發(fā)生的狀態(tài)轉(zhuǎn)換是(A);一般不會(huì)發(fā)生的狀態(tài)轉(zhuǎn)換是(B)。

A就緒à阻塞;

B阻塞à執(zhí)行;

19. 在一個(gè)單處理機(jī)系統(tǒng)中,存在5個(gè)進(jìn)程,最多可有(A)個(gè)進(jìn)程處于就緒隊(duì)列;如果這5個(gè)進(jìn)程中有一個(gè)系統(tǒng)進(jìn)程IDLE(也叫空轉(zhuǎn)進(jìn)程,因?yàn)樗皇遣粩嘌h(huán)地執(zhí)行空語句),則最多可有(B)個(gè)進(jìn)程處于阻塞狀態(tài)。

A,B:(1)5;(2)4;(3)3;(4)2;(5)1;(6)0。

20. 正在執(zhí)行的進(jìn)程由于其時(shí)間片用完被暫停執(zhí)行,此時(shí)進(jìn)程應(yīng)從執(zhí)行狀態(tài)變?yōu)椋ˋ)狀態(tài);處于靜止阻塞狀態(tài)的進(jìn)程,在進(jìn)程等待的事件出現(xiàn)后,應(yīng)變?yōu)椋˙)狀態(tài);若進(jìn)程正處于執(zhí)行狀態(tài)時(shí),因終端的請(qǐng)求而暫停下來以便研究其運(yùn)行情況,這時(shí)進(jìn)程應(yīng)轉(zhuǎn)變?yōu)椋–)狀態(tài),若進(jìn)程已處于阻塞狀態(tài);則此時(shí)應(yīng)轉(zhuǎn)變?yōu)椋―)狀態(tài)。

A:(1)靜止阻塞;(2)活動(dòng)阻塞;(3)靜止就緒;(4)活動(dòng)就緒;(5)執(zhí)行。

B:(1)靜止阻塞;(2)活動(dòng)阻塞;(3)靜止就緒;(4)活動(dòng)就緒;(5)執(zhí)行。

C:(1)靜止阻塞;(2)活動(dòng)阻塞;(3)靜止就緒;(4)活動(dòng)就緒;(5)執(zhí)行。

D:(1)靜止阻塞;(2)活動(dòng)阻塞;(3)靜止就緒;(4)活動(dòng)就緒;(5)執(zhí)行。

21. 為使進(jìn)程由活動(dòng)就緒轉(zhuǎn)變?yōu)殪o止就緒,應(yīng)利用(A)原語;為使進(jìn)程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài),應(yīng)利用(B)原語;為使進(jìn)程由靜止就緒變?yōu)榛顒?dòng)就緒,應(yīng)利用(C)原語;從阻塞狀態(tài)變?yōu)榫途w狀態(tài)應(yīng)利用(D)原語。

A:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。

B:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。

C:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。

D:(1)create;(2)suspend;(3)active;(4)block;(5)wakeup。

22. 在分時(shí)系統(tǒng)中,導(dǎo)致進(jìn)程創(chuàng)建的典型事件是(A);在批處理系統(tǒng)中,導(dǎo)致進(jìn)程創(chuàng)建的典型事件是(B);由系統(tǒng)專門為運(yùn)行中的應(yīng)用進(jìn)程創(chuàng)建新進(jìn)程的事件是(C)。在創(chuàng)建進(jìn)程時(shí),(D)不是創(chuàng)建所必需的步驟。

A:(1)用戶注冊(cè);(2)用戶登錄;(3)用戶記賬;(4)用戶通信。

B:(1)作業(yè)錄入;(2)作業(yè)調(diào)度;(3)進(jìn)程調(diào)度;(4)中級(jí)調(diào)度。

C:(1)分配資源;(2)進(jìn)行通信;(3)共享資源;(4)提供服務(wù)。

D:(1)為進(jìn)程建立PCB;(2)為進(jìn)程分配內(nèi)存等資源;(3)為進(jìn)程分配CPU;(4)將進(jìn)程插入就緒隊(duì)列。

23. 從下面對(duì)臨界區(qū)的論述中,選出一條正確的論述。

(1)臨界區(qū)是指進(jìn)程中用于實(shí)現(xiàn)進(jìn)程互斥的那段代碼。

(2)臨界區(qū)是指進(jìn)程中用于實(shí)現(xiàn)進(jìn)程同步的那段代碼。

(3)臨界區(qū)是指進(jìn)程中用于實(shí)現(xiàn)進(jìn)程通信的那段代碼。

(4)臨界區(qū)是指進(jìn)程中用于訪問共享資源的那段代碼。

(5)臨界區(qū)是指進(jìn)程中訪問臨界資源的那段代碼。

24. 進(jìn)程A和B共享同一臨界資源,并且進(jìn)程A正處于對(duì)應(yīng)的臨界區(qū)內(nèi)執(zhí)行。請(qǐng)從下列描述中選擇一條正確的描述。C

A. 進(jìn)程A的執(zhí)行不能被中斷,即臨界區(qū)的代碼具有原子性。

B. 進(jìn)程A的執(zhí)行能被中斷,但中斷A后,不能將CPU調(diào)度給進(jìn)程B。

C. 進(jìn)程A的執(zhí)行能被中斷,而且只要B進(jìn)程就緒,就可以將CPU調(diào)度給進(jìn)程B。

D. 進(jìn)程A的執(zhí)行能被中斷,而且只要B進(jìn)程就緒,就必定將CPU調(diào)度給進(jìn)程B。

25. (A)是一種只能由wait和signal操作所改變的整型變量,(A)可用于實(shí)現(xiàn)進(jìn)程的(B)和(C),(B)是排他性訪問臨界資源。

A:(1)控制變量;(2)鎖;(3)整型信號(hào)量;(4)記錄型信號(hào)量。

B:(1)同步;(2)通信;(3)調(diào)度;(4)互斥。

C:(1)同步;(2)通信;(3)調(diào)度;(4)互斥。

26. 對(duì)于記錄型信號(hào)量,在執(zhí)行一次wait操作時(shí),信號(hào)量的值應(yīng)當(dāng)(A),當(dāng)其值為(B)時(shí),進(jìn)程阻塞。在執(zhí)行signal操作時(shí),信號(hào)量的值應(yīng)當(dāng)為(C),當(dāng)其值為(D)時(shí),應(yīng)喚醒阻塞隊(duì)列中的進(jìn)程。

A:(1)不變;(2)加1;(3)減1;(4)加指定數(shù)值;(5)減指定數(shù)值。

B:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0.

C:(1)不變;(2)加1;(3)減1;(4)加指定數(shù)值;(5)減指定數(shù)值。

D:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0.

27. 用信號(hào)量S實(shí)現(xiàn)對(duì)系統(tǒng)中4臺(tái)打印機(jī)的互斥使用,S.value的初值應(yīng)設(shè)置為(A),若S.value的初值為-1,則表示S.L隊(duì)列中有(B)個(gè)等待進(jìn)程。

A:(1)1;(2)0;(3)-1;(4)4;(5)-4

B:(1)1;(2)2;(3)3;(4)4;(5)5;(6)6;(7)0。

28. 設(shè)有10個(gè)進(jìn)程共享一個(gè)互斥段,如果最多允許有1個(gè)進(jìn)程進(jìn)入互斥段,則所采用的互斥信號(hào)量初值應(yīng)設(shè)置為(A),而該信號(hào)量的取值范圍為(B);如果最多允許有3個(gè)進(jìn)程同時(shí)進(jìn)入互斥段,則所采用的互斥信號(hào)量初值應(yīng)設(shè)置為(C)。

A:(1)10;(2);3;(3)1;(4)0。

B:(1)0~1;(2)-1~0;(3)1~-9;(4)0~-9。

C:(1)10;(2);3;(3)1;(4)0。

29. 在生產(chǎn)者-消費(fèi)者問題中,應(yīng)設(shè)置互斥信號(hào)量mutex、資源信號(hào)量full和empty。它們的初值應(yīng)分別為(A)、(B)、(C)。

A:(1)0;(2)1;(3)-1;(4)-n;(5)+n。

B:(1)0;(2)1;(3)-1;(4)-n;(5)+n。

C:(1)0;(2)1;(3)-1;(4)-n;(5)+n。

30. 對(duì)生產(chǎn)者-消費(fèi)者問題的算法描述如下,請(qǐng)選擇正確的答案編號(hào)填入方框中。


Producer: begin

      Repeat

       (A);

       (B);

       Buffer(in):=m;

       In:=(in+1)mod n;

      (C);

      (D);

      Until false

   End

Consumer: begin

           Repeat

           (E);

           (B);

          M:=buffer(out);

          Out:=(out+1)mod n;

         (C);

         (F);

       Until false

    end

A: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。

B: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。

C: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。

D: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。

E: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。

F: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)

31. 試選擇(A)~(D),以便能正確地描述圖2.12所示的前趨關(guān)系。

S1

S2

S3

S4

a

b

c

Var a,b,c: semaphore:=0,0,0;

Begin

   Parbegin

      Begin S1; (A); end;

      Begin S2; (B); end;

      Begin

          Wait(a); wait(b); S3; (C);

      End

      Begin (D); S4 end

Parend

End

A: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。

B: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。

C: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。

D: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。

32. 有兩個(gè)程序:A程序按順序使用CPU10秒、設(shè)備甲5秒、CPU5秒、設(shè)備乙10秒、CPU10秒;B程序按順序使用設(shè)備甲10秒、CPU10秒、設(shè)備乙5秒、CPU5秒、設(shè)備乙10秒。在順序環(huán)境下,執(zhí)行上述程序,CPU的利用率約為(A)。若允許它們采用非搶占方式并發(fā)執(zhí)行,并且不考慮切換等開銷,則CPU的利用率約為(B)。

A(1)30%;(2)40%;(3)50%;(4)60%;(5)70%;(6)80%;(7)90%。

B(1)30%;(2)40%;(3)50%;(4)60%;(5)70%;(6)80%;(7)90%。

33. 從下面的敘述中選出一條正確的敘述:

(1)操作系統(tǒng)的一個(gè)重要概念是進(jìn)程,不同的進(jìn)程所執(zhí)行的代碼也不同。

(2)操作系統(tǒng)通過PCB來控制和管理進(jìn)程,用戶進(jìn)程可從PCB中讀出與本身運(yùn)行狀態(tài)相關(guān)的信息。

(3)當(dāng)進(jìn)程由執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài)時(shí),CPU現(xiàn)場(chǎng)信息必須被保存在PCB中。

(4)當(dāng)進(jìn)程申請(qǐng)CPU得不到滿足時(shí),它將處于阻塞狀態(tài)。

(5)進(jìn)程是可與其他程序并發(fā)執(zhí)行的程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行過程,所以程序段是進(jìn)程存在的唯一標(biāo)志。

34. 從下面的敘述中選出4條正確的敘述:

(1)一個(gè)進(jìn)程的狀態(tài)發(fā)生變化總會(huì)引起其它一些進(jìn)程的狀態(tài)發(fā)生變化。

(2)進(jìn)程被掛起(suspend)后,狀態(tài)變?yōu)樽枞麪顟B(tài)。

(3)信號(hào)量的初值不能為負(fù)數(shù)。

(4)線程是CPU調(diào)度的基本單位,但不是資源分配的基本單位。

(5)在進(jìn)程對(duì)應(yīng)的代碼中使用wait、signal操作后,可以防止系統(tǒng)發(fā)生死鎖。

(6)管程每次只允許一個(gè)進(jìn)程進(jìn)入。

(7)wait、signal操作可以解決一切互斥問題。

(8)程序的順序執(zhí)行具有不可再現(xiàn)性。

35. 在引入線程的操作系統(tǒng)中,資源分配和調(diào)度的基本單位是(A),CPU調(diào)度和分配的基本單位是(B)。

A:(1)程序;(2)進(jìn)程;(3)線程;(4)作業(yè)。

B:(1)程序;(2)進(jìn)程;(3)線程;(4)作業(yè)。

36. 在三種基本類型的操作系統(tǒng)中,都設(shè)置了(A),在批處理系統(tǒng)中還應(yīng)設(shè)置(B);在分時(shí)系統(tǒng)中除了(A)以外,通常還設(shè)置了(C),在多處理機(jī)系統(tǒng)中則還需設(shè)置(D)。

A:(1)剝奪調(diào)度;(2)作業(yè)調(diào)度;(3)進(jìn)程調(diào)度;(4)中級(jí)調(diào)度;(5)多處理機(jī)調(diào)度。

B:(1)剝奪調(diào)度;(2)作業(yè)調(diào)度;(3)進(jìn)程調(diào)度;(4)中級(jí)調(diào)度;(5)多處理機(jī)調(diào)度。

C:(1)剝奪調(diào)度;(2)作業(yè)調(diào)度;(3)進(jìn)程調(diào)度;(4)中級(jí)調(diào)度;(5)多處理機(jī)調(diào)度。

D:(1)剝奪調(diào)度;(2)作業(yè)調(diào)度;(3)進(jìn)程調(diào)度;(4)中級(jí)調(diào)度;(5)多處理機(jī)調(diào)度

37. 在面向用戶的調(diào)度準(zhǔn)則中,(A)是選擇實(shí)時(shí)調(diào)度算法的重要準(zhǔn)則,(B)是選擇分時(shí)系統(tǒng)中進(jìn)程調(diào)度算法的重要準(zhǔn)則,(C)是批處理系統(tǒng)中選擇作業(yè)調(diào)度算法的重要準(zhǔn)則,而(D)準(zhǔn)則則是為了照顧緊急作業(yè)用戶的要求而設(shè)置的。

A:(1)響應(yīng)時(shí)間快;(2)平均周轉(zhuǎn)時(shí)間短;(3)截止時(shí)間的保證;(4)優(yōu)先權(quán)高的作業(yè)能獲得優(yōu)先服務(wù);(5)服務(wù)費(fèi)低。

B:(1)響應(yīng)時(shí)間快;(2)平均周轉(zhuǎn)時(shí)間短;(3)截止時(shí)間的保證;(4)優(yōu)先權(quán)高的作業(yè)能獲得優(yōu)先服務(wù);(5)服務(wù)費(fèi)低。

C:(1)響應(yīng)時(shí)間快;(2)平均周轉(zhuǎn)時(shí)間短;(3)截止時(shí)間的保證;(4)優(yōu)先權(quán)高的作業(yè)能獲得優(yōu)先服務(wù);(5)服務(wù)費(fèi)低。

D:(1)響應(yīng)時(shí)間快;(2)平均周轉(zhuǎn)時(shí)間短;(3)截止時(shí)間的保證;(4)優(yōu)先權(quán)高的作業(yè)能獲得優(yōu)先服務(wù);(5)服務(wù)費(fèi)低。

38. 支持多道程序設(shè)計(jì)的操作系統(tǒng),在運(yùn)行過程中不斷地選擇新進(jìn)程運(yùn)行來實(shí)現(xiàn)CPU的共享,但其中(A)不是引起操作系統(tǒng)選擇新進(jìn)程的直接原因。

A:(1)執(zhí)行進(jìn)程的時(shí)間片用完;(2)執(zhí)行進(jìn)程出錯(cuò);(3)執(zhí)行進(jìn)程要等待某一事件發(fā)生;(4)有新進(jìn)程進(jìn)入就緒隊(duì)列

39、一般情況下,互斥信號(hào)量的初值為   B        

A. 0              B.1              C. 2              D. 4

第三部分 是非題

1.進(jìn)程是動(dòng)態(tài)的概念          (對(duì))

2.進(jìn)程執(zhí)行需要處理機(jī)        (對(duì))

3.進(jìn)程是有生命期的          (對(duì))

4.進(jìn)程是指令的集合          (錯(cuò))

5.操作系統(tǒng)的一重要概念是進(jìn)程,因此不同進(jìn)程所執(zhí)行的代碼也一定不同(錯(cuò))

7.操作系統(tǒng)用PCB管理進(jìn)程,用戶進(jìn)程可以從PCB中讀出與本身運(yùn)行狀況有關(guān)的信息                                                         (錯(cuò))

8.進(jìn)程同步是指某些進(jìn)程之間在邏輯上的相互制約關(guān)系                 (對(duì))

9.在一個(gè)只有單個(gè)CPU的計(jì)算機(jī)中,進(jìn)程不能并行操作。

錯(cuò)。一個(gè)進(jìn)程在利用CPU運(yùn)行,另一個(gè)進(jìn)程可以同時(shí)進(jìn)行I/O操作,它們是并行的。

10.線程可以分為內(nèi)核級(jí)(Kernel Thread)和用戶級(jí)(User Thread)兩種,操作系統(tǒng)不可以直接調(diào)度用戶級(jí)的線程。對(duì)。

第四部分 填空題

1.信號(hào)量的物理意義是當(dāng)信號(hào)量值大于零時(shí)表示 可用資源的數(shù)目 ;當(dāng)信號(hào)量值小于零時(shí),其絕對(duì)值為 因請(qǐng)求該資源而被阻塞的進(jìn)程數(shù)目 

2.臨界資源的概念是 一次僅允許一個(gè)進(jìn)程訪問的資源 ,而臨界區(qū)是指  進(jìn)程中訪問臨界資源的那段程序代碼

3.進(jìn)程在運(yùn)行過程中有三種基本狀態(tài),它們是 運(yùn)行、就緒、等待

4.進(jìn)程主要由 程序段、數(shù)據(jù)段PCB  三部分內(nèi)容組成,其中 PCB 是進(jìn)程存在的唯一標(biāo)志。而 程序段 部分也可以為其他進(jìn)程共享。

5.系統(tǒng)中各進(jìn)程之間邏輯上的相互制約關(guān)系稱為 進(jìn)程同步  。

6.若一個(gè)進(jìn)程已進(jìn)入臨界區(qū),其他欲進(jìn)入臨界區(qū)的進(jìn)程必須 等待。

7.將進(jìn)程的 PCB 鏈接在一起就形成了進(jìn)程隊(duì)列。

8.用P、V操作管理臨界區(qū)時(shí),任何一個(gè)進(jìn)程在進(jìn)入臨界區(qū)之前應(yīng)調(diào)用 P 操作,退出臨界區(qū)時(shí)應(yīng)調(diào)用  V 操作。

9.在多道程序系統(tǒng)中,進(jìn)程之間存在著的不同制約關(guān)系可以劃分為兩類:同步  互斥 。   同步 指進(jìn)程間具有的一定邏輯關(guān)系; 互斥  是指進(jìn)程間在使用共享資源方面的約束關(guān)系。

10.程序順序執(zhí)行時(shí)有順序性、封閉性 和可再現(xiàn)性的特點(diǎn)。

11.有m個(gè)進(jìn)程共享同一臨界資源,若使用信號(hào)量機(jī)制實(shí)現(xiàn)對(duì)臨界資源的互斥訪問,則信號(hào)量值的變化范圍是  1~ -(m-1) 。

12.在一個(gè)單處理機(jī)系統(tǒng)中,若有5個(gè)用戶進(jìn)程,且假設(shè)當(dāng)前時(shí)刻為用戶態(tài),則處于就緒狀態(tài)的用戶進(jìn)程最多有  4 個(gè),最少有 0  個(gè)。

13、在單用戶單任務(wù)環(huán)境下,用戶獨(dú)占全機(jī),此時(shí)機(jī)內(nèi)資源的狀態(tài),只能由運(yùn)行程序的操作加以改變,此時(shí)的程序執(zhí)行具有  封閉性   性和  可再現(xiàn)性  性特征。

14、并發(fā)進(jìn)程之間的相互制約,是由于它們的  共享資源    相互合作  而產(chǎn)生的,因而導(dǎo)致程序在并發(fā)執(zhí)行時(shí)具有  間斷性或異步性  特征。

15、程序并發(fā)執(zhí)行與順序執(zhí)行時(shí)相比產(chǎn)生了一些新特征,分別是     、      。間斷性、失去封閉性、不可再現(xiàn)性

16、引入進(jìn)程的目的是    ,而引入線程的目的是     。使程序能正確地并發(fā)執(zhí)行,以提高資源利用率和系統(tǒng)吞吐量;減少并發(fā)執(zhí)行的開銷,提高程序執(zhí)行的并發(fā)程度。

17、進(jìn)程由   、      組成,其中   是進(jìn)程存在的唯一標(biāo)志。PCB、程序段、數(shù)據(jù)段、PCB

18、進(jìn)程最基本的特征是        ,除此之外,它還有   、      特征。動(dòng)態(tài)性、并發(fā)性、獨(dú)立特征、異步性、結(jié)構(gòu)

19、由于進(jìn)程的實(shí)質(zhì)是程序的一次執(zhí)行,故進(jìn)程有   的基本特征,該特征還表現(xiàn)在進(jìn)程由    而產(chǎn)生,由    而執(zhí)行,由    而消亡,即進(jìn)程具有一定的生命期。動(dòng)態(tài)性,創(chuàng)建,調(diào)度,撤銷

20、引入進(jìn)程帶來的好處是        。提高資源利用率,增加系統(tǒng)吞吐量

21、當(dāng)前正在執(zhí)行的進(jìn)程由于時(shí)間片用完而暫停執(zhí)行時(shí),該進(jìn)程應(yīng)轉(zhuǎn)變?yōu)?span style="text-decoration:underline;">    狀態(tài);若因發(fā)生某種事件而不能繼續(xù)執(zhí)行時(shí),應(yīng)轉(zhuǎn)為    狀態(tài);若應(yīng)終端用戶的請(qǐng)求而暫停執(zhí)行時(shí),它應(yīng)轉(zhuǎn)為    狀態(tài)。就緒,阻塞,靜止就緒

22、用戶為阻止進(jìn)程繼續(xù)運(yùn)行,應(yīng)利用     原語,若進(jìn)程正在執(zhí)行,應(yīng)轉(zhuǎn)為    狀態(tài);以后,若用戶要恢復(fù)其運(yùn)行,應(yīng)利用    原語,此時(shí)進(jìn)程應(yīng)轉(zhuǎn)為    狀態(tài)。   掛起;靜止就緒;激活;活動(dòng)就緒

23、系統(tǒng)中共有5個(gè)用戶進(jìn)程,且當(dāng)前CPU在用戶態(tài)下執(zhí)行,則最多可有    個(gè)用戶進(jìn)程處于就緒狀態(tài),最多可有    個(gè)用戶進(jìn)程處于阻塞狀態(tài);若當(dāng)前在核心態(tài)下執(zhí)行,則最多可有     個(gè)用戶進(jìn)程處于就緒狀態(tài),最多可有     個(gè)用戶進(jìn)程處于阻塞狀態(tài)。4,4,5,5

24、同步機(jī)制應(yīng)遵循的準(zhǔn)則:    、    、       ??臻e讓進(jìn)、忙則等待、有限等待、讓權(quán)等待

25、在記錄型信號(hào)量機(jī)制中,S.value>0時(shí)的值表示    ;每次wait操作意味著    ,因此應(yīng)將S.value     ,當(dāng)S.value     時(shí),進(jìn)程應(yīng)阻塞。可用的臨界資源數(shù)量;申請(qǐng)一個(gè)臨界資源;減1;小于0

26、在記錄型信號(hào)量機(jī)制中,每次signal操作意味著   ,因此應(yīng)將S.value     ,當(dāng)S.value<=0時(shí),表示    ,此時(shí)應(yīng)     。釋放一個(gè)臨界資源,加1,仍有請(qǐng)求該資源的進(jìn)程被阻塞;喚醒相應(yīng)阻塞隊(duì)列中的首進(jìn)程

27、在利用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥時(shí),應(yīng)將    置于        之間。臨界區(qū),wait操作,signal操作

28、在每個(gè)進(jìn)程中訪問   的那段代碼稱為臨界區(qū)。為實(shí)現(xiàn)對(duì)它的共享,應(yīng)保證進(jìn)程   進(jìn)入自己的臨界區(qū),為此,在每個(gè)進(jìn)程的臨界區(qū)前應(yīng)設(shè)置    ,臨界區(qū)后應(yīng)設(shè)置     。臨界資源,互斥,進(jìn)入?yún)^(qū),退出區(qū)

29、進(jìn)程通信的類型有      、   三類,其中   利用共享文件進(jìn)行通信。共享存儲(chǔ)器、消息系統(tǒng)、管道通信、管道通信

30、為實(shí)現(xiàn)消息緩沖隊(duì)列通信,應(yīng)在PCB中增加   、   、   三個(gè)數(shù)據(jù)項(xiàng)。消息隊(duì)列首指針mq;消息隊(duì)列互斥信號(hào)量mutex;消息隊(duì)列資源信號(hào)量sm

31. 在直接通信方式中,系統(tǒng)通常提供的兩條通信原語如下,請(qǐng)選擇適當(dāng)?shù)膮?shù)填入。

Send((A),(B));

Receive((C),(B));

A:(1)sender;(2)receiver;(3)text;(4)message;(5)mailbox。

B:(1)sender;(2)receiver;(3)text;(4)message;(5)mailbox。

C:(1)sender;(2)receiver;(3)text;(4)message;(5)mailbox。

32. 使用mail命令的信箱通信屬于(A),因?yàn)樾畔⑹潜话l(fā)送到接收方的(B)中;使用write命令,實(shí)現(xiàn)的是(C)通信,因?yàn)樾畔⑹潜话l(fā)送到接收方的(D)中;使用共享文件進(jìn)行通信的方式屬于(E)通信。

A:(1)共享存儲(chǔ)器;(2)實(shí)時(shí)通信;(3)消息緩沖通信;(4)非實(shí)時(shí)通信;(5)管道通信。

B:(1)消息緩沖隊(duì)列;(2)內(nèi)存;(3)信箱;(4)消息緩沖區(qū);(5)屏幕;(6)共享存儲(chǔ)器。

C:(1)共享存儲(chǔ)器;(2)實(shí)時(shí)通信;(3)消息緩沖通信;(4)非實(shí)時(shí)通信;(5)管道通信。

D:(1)消息緩沖隊(duì)列;(2)內(nèi)存;(3)信箱;(4)消息緩沖區(qū);(5)屏幕;(6)共享存儲(chǔ)器。

E:(1)共享存儲(chǔ)器;(2)實(shí)時(shí)通信;(3)消息緩沖通信;(4)非實(shí)時(shí)通信;(5)管道通信

33、在采用用戶級(jí)線程的系統(tǒng)中,OS進(jìn)行CPU調(diào)度的對(duì)象是    ;在采用內(nèi)核支持線程的系統(tǒng)中,CPU調(diào)度的對(duì)象是     。進(jìn)程,線程

34、線程之所以能減少并發(fā)執(zhí)行的開銷是因?yàn)?span style="text-decoration:underline;">    。線程基本不擁有資源

35、進(jìn)程通信的常用方式有     直接通信           間接通信      等。

36、如果P(S1)和P(S2)兩個(gè)操作在一起,那么P操作的順序至關(guān)重要,一個(gè)同步P操作與一個(gè)互斥P操作在一起時(shí)同步    P操作在互斥    P操作前。而兩個(gè)V操作的次序無關(guān)緊要     。

37、P(S):表示申請(qǐng)一個(gè)資源    ; V(S)表示釋放一個(gè)資源    。信號(hào)量的初值應(yīng)該大于等于0    。

38、P、V操作當(dāng)為互斥   操作時(shí),它們同處于同一進(jìn)程;當(dāng)為同步   操作時(shí),則不在同一進(jìn)程中出現(xiàn)。

39、臨界資源是指  系統(tǒng)中一次只允許一個(gè)進(jìn)程使用的資源   ,而臨界區(qū)是指       涉及到臨界資源的代碼段 。

40、I/O型進(jìn)程是指   花費(fèi)I/O 時(shí)間多于計(jì)算的進(jìn)程   ,而CPU型進(jìn)程是指                        花費(fèi)計(jì)算多于I/O 時(shí)間的進(jìn)程    。

41、當(dāng)時(shí)間片輪轉(zhuǎn)算法的時(shí)間片足夠大時(shí),這個(gè)算法就等同于FIFO  算法。

42、P\V操作必須成對(duì)  出現(xiàn),有一個(gè)P操作就一定有一個(gè)V操作      。

43、臨界資源是指  系統(tǒng)中一次只允許一個(gè)進(jìn)程使用的資源   ,而臨界區(qū)是指       涉及到臨界資源的代碼段     。


第五部分 解析題

1.進(jìn)程的定義是什么?它最少有哪幾種狀態(tài)?

2.進(jìn)程與線程的主要區(qū)別是什么?

3、 什么是進(jìn)程的互斥與同步?同步和互斥這兩個(gè)概念有什么聯(lián)系和區(qū)別?

解:

(1)  同步:兩個(gè)事件的發(fā)生有著某種時(shí)序上的關(guān)系,進(jìn)程間的同步關(guān)系是指系統(tǒng)中往往有幾個(gè)進(jìn)程共同完成一個(gè)任務(wù);

(2)  互斥是進(jìn)程間的另外一種關(guān)系。由于各進(jìn)程要共享資源。而有些資源往往要求排他性地使用;

(3)  互斥是一種特殊的同步關(guān)系。

S4

S3

S2

S1

4. 圖給出了4個(gè)進(jìn)程合作完成某一任務(wù)的前驅(qū)圖,試說明這4個(gè)進(jìn)程間的同步關(guān)系,并用P、V操作描述它。

解:圖說明任務(wù)啟動(dòng)后S1先執(zhí)行。當(dāng)S1結(jié)束后,S2、S3可以開始執(zhí)行。S2、S3完成后,S4才能開始執(zhí)行。為了確保這一執(zhí)行順序,設(shè)3個(gè)同步信號(hào)量b2、b3、b4分別表示進(jìn)程S2、S3、S4是否可以開始執(zhí)行,其初值均為0。進(jìn)程同步描述如下:

//可用兩種方法來解決

//S1不必判斷能否開始

//b2、b3、b4起初全部為0,表示都不可開始

int b2=0;// 表示進(jìn)程S2是否可以開始執(zhí)行

int b3=0;// 表示進(jìn)程S3是否可以開始執(zhí)行

int b4=0;// 表示進(jìn)程S4是否可以開始執(zhí)行

//也可分為b42、b43

main()

{

    cobegin

       S1();

S2();

S3();

S4();

Coend

}

S1()

{

v(b2);

v(b3);

}

S2()

{

    p(b2);

v(b4);  //v(b42)

}

S3()

{

    p(b3);

v(b4);  //v(b43)

}

S4()

{//因?yàn)樵赟2及S3完成時(shí)均對(duì)b4做了v操作,因此這里要用兩個(gè)p操作

    p(b4);//p(b42)

    p(b4);//p(b43)

}

5. 桌上有一空盤,允許存放一只水果。爸爸可向盤中放蘋果,也可向盤中放桔子,兒子專等吃盤中的桔子,女兒專等吃盤中的蘋果。規(guī)定當(dāng)盤空時(shí)一次只能放一只水果供吃者取用,請(qǐng)用P、V原語實(shí)現(xiàn)爸爸、兒子、女兒三個(gè)并發(fā)進(jìn)程的同步。

解:設(shè)置3個(gè)信號(hào)量S、SO、SA,信號(hào)量S表示盤子是否為空,其初值為1;信號(hào)量SO表示盤中是否有桔子,其初值為0;信號(hào)量SA表示盤中是否有蘋果,其初值為0。

同步描述:

int S=1;

int SA=0;

int SO=0;

main()

{

    cobegin

       father();

       son();

       daughter();

    coend

}

father()

{

    while(1)

{

   p(S);//盤子是否空

   將水果放入盤中;

   if(放入的是桔子)v(SO);//變形

   else  v(Sa) //很少有學(xué)生如此做!而這卻是本題的關(guān)鍵

}

}

son()

{

    while(1)

{

   p(SO);//盤子中有無桔子

   從盤中取出桔子;

   v(S);

   吃桔子;

}

}

daughter()

{

    while(1)

{

   p(SA);//盤子中有無蘋果

   從盤中取出蘋果;

   v(S);

吃蘋果;

}

}

6. 在單處理機(jī)的分時(shí)系統(tǒng)中,分配給進(jìn)程P的時(shí)間片用完后,系統(tǒng)進(jìn)行切換,結(jié)果調(diào)度到的仍然是進(jìn)程P。有可能出現(xiàn)上述情形嗎?如果可能請(qǐng)說明理由。

解:有可能出現(xiàn)上述情況。例如,若在進(jìn)程P時(shí)間片用完后,被迫回到就緒隊(duì)列時(shí),就緒隊(duì)列為空,這樣進(jìn)程P就是就緒隊(duì)列中唯一的一個(gè)進(jìn)程,于是調(diào)度程序選中的進(jìn)程必然是進(jìn)程P;又如在按優(yōu)先級(jí)調(diào)度的系統(tǒng)中,就緒隊(duì)列按進(jìn)程優(yōu)先級(jí)排列,在進(jìn)程P時(shí)間片用完之后回到就緒隊(duì)列時(shí),若其優(yōu)先級(jí)高于當(dāng)前隊(duì)列中的其他進(jìn)程,則它將排在就緒隊(duì)列之首,從而再次被調(diào)度程序選中并投入運(yùn)行。


7. 哲學(xué)家甲請(qǐng)哲學(xué)家乙、丙、丁到某處討論問題,約定全體到齊后開始討論問題;在討論的間隙4位哲學(xué)家進(jìn)餐,每人進(jìn)餐時(shí)都需使用刀、叉各一把,餐桌上的布置如圖。請(qǐng)用信號(hào)量及P、V操作說明這4位哲學(xué)家的同步、互斥過程。

解:在本題中,應(yīng)設(shè)置4個(gè)信號(hào)量fork1、fork2、knife1、knife2,其初值均為1,分別表示資源叉1、叉2、刀1、刀2是否可用。同步描述如下:

int fork1=1;

int fork2=1;

int knife1=1;

int knife2=1;

main()

{

    cobegin

       Pa();

       Pb();

       Pc();

       Pd();

    Coend

}

Pa()

{

    while(1)

    {

       p(knife1);

       p(fork1);

       進(jìn)餐;

       v(knife1);

       v(fork1);

       討論問題;

    }

}

Pb()

{

    while(1)

    {

       p(knife2);

       p(fork1);

       進(jìn)餐;

       v(knife2);

       v(fork1);

       討論問題;

    }

}

Pc()

{

    while(1)

    {

       p(knife2);

       p(fork2);

       進(jìn)餐;

       v(knife2);

       v(fork2);

       討論問題;

    }

}

Pd()

{

    while(1)

    {

       p(knife1);

       p(fork2);

       進(jìn)餐;

       v(knife1);

       v(fork2);

       討論問題;

    }

}

8. 請(qǐng)用信號(hào)量實(shí)現(xiàn)對(duì)某數(shù)據(jù)庫的讀者-寫者互斥。

要求:(1)讀者與寫者之間互斥,寫者與寫者之間互斥。

(2)讀者之間不互斥。

解:本題是讀者-寫者問題。在本題中,允許讀進(jìn)程同時(shí)讀數(shù)據(jù)庫,但寫進(jìn)程正在寫數(shù)據(jù)庫時(shí)不允許其他進(jìn)程讀該數(shù)據(jù)庫,也不允許其他進(jìn)程寫該數(shù)據(jù)庫。為了解決讀、寫進(jìn)程之間的同步,應(yīng)該設(shè)置2個(gè)信號(hào)量和一個(gè)共享變量:讀互斥信號(hào)量rmutex,用于使讀進(jìn)程互斥地訪問共享變量count,其初值為1;寫互斥信號(hào)量wmutex,用于實(shí)現(xiàn)寫進(jìn)程與讀進(jìn)程的互斥及寫進(jìn)程與寫進(jìn)程的互斥,其初值為1;共享變量count,用于記錄當(dāng)前正在讀數(shù)據(jù)庫的讀進(jìn)程數(shù)目,初值為0。其工作過程描述如下:

Semaphore rmutex=1;

Semaphore wmutex=1;

Int count=0;

Main()

{

  Cobegin

Reader();

Writer();

  Coend

}

Reader()

{

  While(true)

  {

P(rmutex);

If(count==0) p(wmutex);

Count ++;

V(rmutex);

讀數(shù)據(jù)庫;

P(rmutex);

Count --;

If (count==0) v(wmutex);

V(rmutex);

  }

}

Writer()

{

  While(true)

{

P(wmutex);

    寫數(shù)據(jù)庫;

V(wmutex);

  }

}

注意:正確理解信號(hào)量rmutex的意義是理解讀者-寫者問題的關(guān)鍵。Rmutex是一個(gè)互斥信號(hào)量,用于使讀進(jìn)程互斥地訪問共享變量count。信號(hào)量rmutex并不表示讀進(jìn)程的數(shù)目,表示讀進(jìn)程數(shù)目的是共享變量count。當(dāng)一個(gè)讀進(jìn)程要讀數(shù)據(jù)庫時(shí),應(yīng)將讀進(jìn)程計(jì)數(shù)count增加1;如果此前(count加1以前)數(shù)據(jù)庫中無讀進(jìn)程,還應(yīng)對(duì)寫互斥信號(hào)量wmutex做p操作,這樣,若數(shù)據(jù)庫中無寫進(jìn)程則通過p操作阻止后續(xù)寫進(jìn)程寫,若數(shù)據(jù)庫中有寫進(jìn)程,則通過p操作讓讀進(jìn)程等待。同理,當(dāng)一個(gè)讀進(jìn)程完成讀數(shù)據(jù)庫操作時(shí),應(yīng)將讀進(jìn)程計(jì)數(shù)count減少1;如果此時(shí)(count減1以后)數(shù)據(jù)庫中已無讀進(jìn)程,還應(yīng)對(duì)寫互斥信號(hào)量wmutex做v操作,以允許寫進(jìn)程寫。

9. 就緒隊(duì)列中有10個(gè)進(jìn)程,系統(tǒng)將時(shí)間片設(shè)為200ms,CPU進(jìn)行進(jìn)程切換要花費(fèi)10ms,試問系統(tǒng)開銷所占的比率約為多少?

解:因就緒隊(duì)列中有10個(gè)進(jìn)程,它們以時(shí)間片輪轉(zhuǎn)的方式使用CPU,時(shí)間片長(zhǎng)度為200ms。當(dāng)一個(gè)時(shí)間片用完時(shí),調(diào)度進(jìn)程將當(dāng)前運(yùn)行進(jìn)程設(shè)置為就緒狀態(tài)并放入就緒隊(duì)列尾,再從就緒隊(duì)列首選擇進(jìn)程投入運(yùn)行,這一過程(進(jìn)程切換)要花費(fèi)時(shí)間10ms。因此系統(tǒng)開銷所占比率為:10/(200+10)=4.8%

10. 在單CPU和兩臺(tái)輸入/輸出設(shè)備(I1,I2)的多道程序設(shè)計(jì)環(huán)境下,同時(shí)投入三個(gè)作業(yè)Job1、Job2、Job3運(yùn)行。這三個(gè)作業(yè)對(duì)CPU和輸入/輸出設(shè)備的使用順序和時(shí)間如下所示:

Job1:I2(30ms);CPU(10ms);I1(30ms);CPU(10ms);I2(20ms)

Job2:I2(20ms);CPU(20ms);I2(40ms)

Job3:CPU(30ms);I1(20ms); CPU(10ms);I1(10ms)

 假定CPU、I1、I2都能并行工作,Job1優(yōu)先級(jí)最高,Job2次之,Job3優(yōu)先級(jí)最低,優(yōu)先級(jí)高的作業(yè)可以搶占優(yōu)先級(jí)低的作業(yè)的CPU但不搶占I1和I2。試求:

三個(gè)作業(yè)從投入到完成分別需要的時(shí)間

從投入到完成的CPU利用率

I/O設(shè)備利用率。

解:三個(gè)作業(yè)并發(fā)執(zhí)行時(shí)的工作情況如圖4.2所示。

(1)由上圖可以看出Job1從投入到運(yùn)行完成需要110ms,Job2從投入到運(yùn)行完成需要90ms,Job3從投入到運(yùn)行完成需要110ms.

(2)CPU在時(shí)間段60ms到70ms,80ms至90ms,100ms至110ms期間空閑,所以CPU的利用率為:(110-30)/110=72.7%

(1)    設(shè)備I1在時(shí)間段20ms到40ms,90ms至100ms期間空閑,所以設(shè)備I1的利用率為:(110-30)/110=72.7%;設(shè)備I2在時(shí)間段30ms至50ms期間空閑,所以設(shè)備I2的利用率為:(110-20)/110=81.8%。

11.試?yán)肂ernstein 條件證明上題中的S2和S3語句是可以并發(fā)執(zhí)行的,而S3和S4語句是不能并發(fā)執(zhí)行的?

【解】(1) ∵R(S2) ∩ W( S3)={};

          W(S2) ∩ R(S3)={};

            W(S2) ∩ W(S3)={};

∴R(S2) ∩ W( S3)∪ W(S2) ∩ R(S3) ∪ W(S2) ∩ W(S3)={}

        ∴S2、S3可以并發(fā)執(zhí)行

(2)∵R(S3) ∩ W( S4)={};

W(S3) ∩ R(S4)={c};

W(S3) ∩ W(S4)={};

         ∴R(S3) ∩ W( S4)∪ W(S3) ∩ R(S4) ∪ W(S3) ∩ W(S4)={c}不是空集

∴S3,S4不能并發(fā)執(zhí)行

12.什么是臨界資源(P16)和臨界區(qū)(P50)?

【解】那些多個(gè)進(jìn)程必須互斥訪問的方式來實(shí)現(xiàn)資源共享的硬件資源和軟件資源叫臨界資源。

我們把在每個(gè)進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)。

13、在OS中引起進(jìn)程調(diào)度的主要因素有哪些?

【解】

在OS中引起進(jìn)程調(diào)度的主要因素有:

(1)缺乏資源。正在運(yùn)行的進(jìn)程因?yàn)槟硞€(gè)條件不能滿足,不得不進(jìn)入阻塞狀態(tài),此時(shí),運(yùn)行進(jìn)程被撤下,引起調(diào)度使另一個(gè)進(jìn)程進(jìn)入運(yùn)行

(2)時(shí)間片到。如果是分時(shí)系統(tǒng)或者以時(shí)間片作為激勵(lì)調(diào)度的系統(tǒng),時(shí)間片是引起硬件激勵(lì)的主要因素,每當(dāng)時(shí)間片到,正在運(yùn)行的進(jìn)程被暫時(shí)停止,將它再次排入就緒隊(duì)列,引起調(diào)度使另一就緒進(jìn)程進(jìn)入運(yùn)行。

(3)外部中斷。外部中斷信號(hào)也將引起調(diào)度,如打印機(jī)打印完成,通過打印通道或者信號(hào)線路傳送一激勵(lì)信號(hào),將原等待進(jìn)程喚醒重新進(jìn)入運(yùn)行,或引起調(diào)度使另一進(jìn)程運(yùn)行。

(4)進(jìn)程結(jié)束。進(jìn)程正常執(zhí)行完畢,退出并終止,此時(shí)將激勵(lì)系統(tǒng)調(diào)度另一進(jìn)程進(jìn)入運(yùn)行。

14.有兩個(gè)進(jìn)程P1和P2,它們執(zhí)行的過程如下:

P1: 10秒CPU操作、20秒I/O操作(設(shè)備1)、5秒CPU操作、10秒I/O操作(設(shè)備2)、5秒CPU操作、結(jié)束

P2: 15秒I/O操作(設(shè)備1)、10秒CPU操作、15秒I/O操作(設(shè)備2)、10秒CPU操作、結(jié)束

(1)    如果進(jìn)程P1和P2順序執(zhí)行,請(qǐng)畫出進(jìn)程P1和P2執(zhí)行情況圖;

(2)    如果進(jìn)程P1和P2并發(fā)執(zhí)行,請(qǐng)畫出進(jìn)程P1和P2執(zhí)行情況圖;

(3)    分別計(jì)算在(1)和(2)情況下,CPU的利用率、設(shè)備1和設(shè)備2的利用率。

解:

(1)

P1:

CPU

I/O(DEV2)

CPU

I/O(DEV1)

CPU

 

0         10                  30    35        45    50

P2:

I/O(DEV1)

CPU

I/O(DEV2)

CPU

 

50            65         75             90         100

(2)

                                    P1                 P1

CPU(P1)

I/O(DEV1)(P1)

CPU

I/O(DEV2)

CPU

I/O(DEV1)(P2)

CPU(P2)

I/O(DEV2)(P2)

CPU(P2)

 

0         10   15        25      35     40           50    55

(3)

在情況(1)下,

CPU的利用率=40/100=40%

設(shè)備1的利用率=35/100=35%

設(shè)備2的利用率=25/100=25%

在情況(2)下,

CPU的利用率=40/55=73%

設(shè)備1的利用率=35/55=64%

設(shè)備2的利用率=25/55=45%

15.在五狀態(tài)圖中,假如計(jì)算機(jī)只有一個(gè)CPU,如果系統(tǒng)中有N個(gè)進(jìn)程:

(1)運(yùn)行的進(jìn)程最多幾個(gè),最少幾個(gè);就緒進(jìn)程最多幾個(gè)最少幾個(gè);等待進(jìn)程最多幾個(gè),最少幾個(gè)?

(2)有沒有這樣的狀態(tài)轉(zhuǎn)換,為什么?     

       等待—>運(yùn)行   ;   就緒—>等待

(3)一個(gè)進(jìn)程狀態(tài)的轉(zhuǎn)換是否會(huì)導(dǎo)致另一個(gè)進(jìn)程的狀態(tài)轉(zhuǎn)換,請(qǐng)列出所有的可能。

解:

(1)如果系統(tǒng)中有N個(gè)進(jìn)程,運(yùn)行的進(jìn)程最多1個(gè),最少0個(gè);就緒進(jìn)程最多N-1個(gè)最少0個(gè);等待進(jìn)程最多N個(gè),最少0個(gè)。

(2)沒有這樣的狀態(tài)轉(zhuǎn)換。

(3) 新建    就緒    導(dǎo)致     運(yùn)行      就緒

      就緒    運(yùn)行    導(dǎo)致    

      運(yùn)行    就緒    導(dǎo)致     就緒      運(yùn)行

      運(yùn)行    等待    導(dǎo)致     就緒      運(yùn)行

      等待    就緒    導(dǎo)致     就緒      等待

      運(yùn)行    結(jié)束    導(dǎo)致     就緒      運(yùn)行

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
第一章 計(jì)算機(jī)操作系統(tǒng)知識(shí)總結(jié) (三)
Linux進(jìn)程調(diào)度原理
計(jì)算機(jī)操作系統(tǒng)知識(shí)點(diǎn)整理
操作系統(tǒng)知識(shí)點(diǎn)總結(jié)
操作系統(tǒng)第2章
編程思想之多線程與多進(jìn)程(2)——線程優(yōu)先級(jí)與線程安全
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服