操作系統:第5和6次作業答案_第1頁
操作系統:第5和6次作業答案_第2頁
操作系統:第5和6次作業答案_第3頁
操作系統:第5和6次作業答案_第4頁
操作系統:第5和6次作業答案_第5頁
已閱讀5頁,還剩12頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第4次作業作業一、有兩個并發進程p1、p2, 其程序代碼如下:該系統會不會出現結果的不確定現象, 若會, 可能打印哪些結果?Process p1 Process p2begin begin x:=1; x:-1; y:=2 ; a:=x+5; z:=x+y; x:=a+x; print z; b:=a+5;end end(1)先執行進程1,進程1一直執行,沒有中斷,打印z的結果為3;(2)先執行進程1,進程1執行到y:=2時中斷,又去執行進程2,在進程2中執行a:=x+5時中斷,此時x=-1,接著去執行進程1,打印z為1;第4次作業作業一、有兩個并發進程p1、p2, 其程序代碼如下:該系統會不

2、會出現結果的不確定現象, 若會, 可能打印哪些結果?Process p1 Process p2begin begin x:=1; x:-1; y:=2 ; a:=x+5; z:=x+y; x:=a+x; print z; b:=a+5;end end(3)先執行進程1,進程1執行到y:=2時中斷,再執行進程2,進程2一直執行最后,此時x=3,再去執行進程1,打印z為5;(4)先執行進程2,進程2執行到a:= x+5后中斷,此時a=4,再去執行進程1,讀取x的值為1,發生中斷,又去執行進程2,一直執行到最后,此時x=5,又去執行進程1,打印z的值為7;第4次作業作業一、有兩個并發進程p1、p2,

3、 其程序代碼如下:該系統會不會出現結果的不確定現象, 若會, 可能打印哪些結果?Process p1 Process p2begin begin x:=1; x:-1; y:=2 ; a:=x+5; z:=x+y; x:=a+x; print z; b:=a+5;end end(5)先執行進程2,進程2執行到x:=-1;中斷,再去執行進程1,讀取x的值為1,發生中斷,又去執行進程2,一直執行到最后,此時x=7,又去執行進程1,打印z的值為9。1.假定某多道程序系統有供用戶使用的主存空間100k, 磁帶機2臺,打印機1臺, 系統采用可變式分區管理主存, 優先分配內存的低地址部分, 且作業在內存中

4、不能移動.設備采用靜態分配技術. 主存中的作業平分cpu的時間. 作業采用先來先服務調度算法. I/O操作的時間忽略不計. 現有如下一組作業序列: 作業號 提交時間 運行時間(分) 主存量 磁帶機 打印機1 8:00 25 15k 1 12 8:20 10 30k 0 13 8:20 20 60k 1 04 8:30 20 20k 1 05 8:3515 10k 1 1試求:1.調度程序選中作業的次序是_. (用作業號描述)2.最大的作業周轉時間是_分.3.最小的作業周轉時間是_分4.作業全部完成的時間是_(時:分描述)5.作業3的帶權周轉時間是_.在8:00這個時刻,只有作業1 到達,系統為

5、其分配外圍設備(打印機和磁帶機各1臺)與主存(15K)投入運行。8:00-8:20, 作業1獨占CPU. 作業18:008:20 作業115K0100K作業號 提交時間 運行時間(分) 主存量 磁帶機 打印機1 8:0025 15k 1 12 8:20 10 30k 0 13 8:20 20 60k 1 04 8:30 20 20k 1 05 8:35 15 10k 1 1 運行到8:20的時候,作業2和作業3到達,系統無法滿足作業2需要1臺打印機的要求,但可以滿足作業3需要1臺磁帶機的要求,所以系統為作業3分配外圍設備(磁帶機2)和主存(60K)投入運行.8:20-8:30, 作業1和作業3

6、平分CPU時間. 作業1已運行20分鐘,還需要5分鐘結束. 根據時間片輪轉法,在8:20-8:30這段時間里總共有5分鐘是給作業1運行使用,總共有另外5分鐘是留給作業3運行使用.作業1 : 8:00開始-8:30結束. 作業1.8:008:208:303113 作業115K作業360K25K 運行到8:30的時候,作業4到達,這時作業2依然在等待系統分配外圍設備,根據FCFS算法,系統會優先考慮給作業2的要求,但是因為主存已不夠分配給作業2(需要30K連續的主存),所以作業2還是不能投入運行;因而系統給作業4分配外圍設備(磁帶機1)和主存(20K)投入運行。到8:30,作業3已經運行了5分鐘,

7、 還需要15分鐘.8:30-9:00 ,作業3和作業4平分CPU時間,分別占用CPU時間累計各15分鐘.作業3: 8:20開始-9:00結束. 15K作業360K20K5K作業4作業1.8:008:208:3031134343.9:00運行到8:35的時候,作業5到達,其需要外圍設備(磁帶機臺和打印機各1臺)系統無法滿足,因為兩臺磁帶機都已投入使用。運行到9:00的時候,作業3結束;作業4已經運行了15分鐘,還需要5分鐘. 根據FCFS算法系統優先考慮給作業2分配外圍設備(打印機)和主存(30K)投入運行。 9:00-9:10 , 作業2和作業4平分CPU時間。 作業4: 8:30開始-9:1

8、0結束作業1. 8:008:208:3031134343.9:0042429:10 15K作業230K20K5K作業430K運行到9:10的時候,作業4結束運行并釋放所占用的資源,但系統無法為作業5分配外圍設備(磁帶機1臺和打印機1臺),所以作業5繼續等待。作業2已經運行5分鐘,還需運行5分鐘.運行到9:15的時候,作業2結束運行并釋放所占用的資源,系統為作業5分配外圍設備(打印機和磁帶機1)投入運行。作業2: 9:00開始-9:15結束. 15K作業230K20K5K30K作業1. 8:008:208:3031134343.9:0042429:1022229:15運行到9:15的時候,作業2

9、結束運行并釋放所占用的資源,系統為作業5分配外圍設備(打印機和磁帶機1)投入運行。作業5: 9:15開始-9:30結束. 10K作業5作業1. 8:008:208:3031134343.9:0042429:1022229:155559:30根據以上解讀,以及周轉時間=結束時間-進入輸入時間,可知: 作業被調度先后序列為 1-3-4-2-5; 作業1運行結束時間為8:30,進入輸入時間為8:00,周轉時間為30分鐘; 作業2運行結束時間為9:15,進入輸入時間為8:20,周轉時間為55分鐘; 作業3運行結束時間為9:00,進入輸入時間為8:20,周轉時間為40分鐘; 作業4運行結束時間為9:10

10、,進入輸入時間為8:30,周轉時間為40分鐘; 作業5運行結束時間為9:30,進入輸入時間為8:35,周轉時間為55分鐘。 平均周轉時間=(30+55+40+40+55)5=44(分鐘)。設系統中有A類資源10個,B類資源6個,C 類資源 7個。系統采用銀行家算法避免死鎖發生,現有5個進程,當前狀態如下圖.當進程p2提出一個請求(1,1, 1),系統是否可以滿足?進程p3提出請求(1,1,1)呢?以上兩個請求若系統可以滿足,請給出系統處理過程中,判斷 系統是安全狀態時的進程完成順序。當進程p2提出一個請求(1,1, 1),系統是否可以滿足?答:request2(1,1,1)=need2(3,1

11、,4); request2(1,1,1)=available(3.4.2); 暫時為P2進行資源分配,資源分配情況如上表所示。 進行安全性檢查:可用資源available(2.3.1) 已不能滿足任何 進程的需要,系統進入不安全狀態,此時系統不給P2分配資源。 Allocation Max Available Need A B C A B C A B C A B C P0 0 1 0 7 5 3 2 3 1 7 4 3 P1 2 0 0 3 2 3 1 2 3P2 4 1 3 6 1 6 2 0 3P3 2 1 1 5 2 2 3 1 1P4 0 0 2 4 3 3 4 3 1 P2分配資源后

12、的資源數據當進程p3提出一個請求(1,1, 1),系統是否可以滿足? Allocation Max Available Need A B C A B C A B C A B C P0 0 1 0 7 5 3 2 3 1 7 4 3 P1 2 0 0 3 2 3 1 2 3P2 3 0 2 6 1 6 3 1 4P3 3 2 2 5 2 2 2 0 0P4 0 0 2 4 3 3 4 3 1 P3分配資源后的資源數據答:request3(1,1,1)=need3(3,1,1); request3(1,1,1)=available(3,4,2); 暫時為P3進行資源分配,資源分配情況如上表所示。

13、進行安全性檢查:存在的安全序列包括(p3,p1,p0,p4,p2)、(p3,p4,p1,p2,p0)和(p3,p4,p2,p1,p0)。 系統可以給P3分配資源。當進程p3提出一個請求(1,1, 1),系統是否可以滿足? work Need Allocation work+allocation finish A B C A B C A B C A B C true P3 2 3 1 2 0 0 3 2 2 5 5 3 true P1 5 5 3 1 2 3 2 0 0 7 5 3 trueP0 7 5 3 7 4 3 0 1 0 7 6 3 trueP4 7 6 3 4 3 1 0 0 2 7 6 5 trueP2 7 6 5 3 1 4 3 0 2 10 6 7 true P3請求的安全性檢查一個計算機有6臺磁帶機,由n個進程競爭使用,每個進程可能需要兩臺磁帶機,那么n是多少時,系統才沒有死鎖的危險?答: 已知系統中的每個進程需要2臺磁帶機機。那么在最壞的情況下,各進程都占用了其中的一臺,而且都在請求自己所需的另一臺。如果此時系統尚有多余的一臺,那么就可以滿足其中一個進程運行完畢。當該進程運行完畢釋放出它所占有的打印機后,又可進一步滿足其他進程。系統不會出現死鎖。 因此,n*1+1=6, 進程數量n必然小于等于5.此時系統中不會發生死鎖。P1、P2兩個進程同步算法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論