操作系統(tǒng)原理作業(yè)_第1頁(yè)
操作系統(tǒng)原理作業(yè)_第2頁(yè)
操作系統(tǒng)原理作業(yè)_第3頁(yè)
操作系統(tǒng)原理作業(yè)_第4頁(yè)
操作系統(tǒng)原理作業(yè)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第3章作業(yè)3.2 試比較進(jìn)程和程序的區(qū)別。答:(1)進(jìn)程是一個(gè)動(dòng)態(tài)概念,而程序則是一個(gè)靜態(tài)概念。程序是指令的有序集合,沒(méi)有任何執(zhí)行的含義。而進(jìn)程則強(qiáng)調(diào)執(zhí)行過(guò)程,它動(dòng)態(tài)地被創(chuàng)建,并被調(diào)度執(zhí)行后消亡;(2)進(jìn)程具有并發(fā)特征,而程序沒(méi)有; (3)進(jìn)程是競(jìng)爭(zhēng)計(jì)算機(jī)系統(tǒng)資源的基本單位,從而其并發(fā)性受到系統(tǒng)自己的制約。這里制約就是對(duì)進(jìn)程獨(dú)立性和異步性; (4)不同的進(jìn)程可以包含同一程序,只要該程序所對(duì)應(yīng)的數(shù)據(jù)集不同。3.3我們說(shuō)程序的并發(fā)執(zhí)行將導(dǎo)致最終結(jié)果失去封閉性。這話(huà)對(duì)所有的程序都成立嗎?試距離說(shuō)明。答:并非對(duì)所有的程序都成立。如: Begin local x;x=10;print(x); End上述

2、程序中x是內(nèi)部變量,不可能被外部程序訪問(wèn),因此這段程序的運(yùn)行不會(huì)手外部環(huán)境影響。3.7并發(fā)進(jìn)程間的制約有哪2種?引起制約的原因是什么?答:并發(fā)進(jìn)程間的制約有兩種:直接制約和間接制約。直接制約是由并發(fā)進(jìn)程互相共享對(duì)方的私有資源所引起的。間接制約是由競(jìng)爭(zhēng)公有資源引起的。3.8什么是進(jìn)程間的互斥?什么是進(jìn)程間的同步?答:進(jìn)程間的互斥是指:一組并發(fā)進(jìn)程中的一個(gè)或多個(gè)程序段,因共享某一共有資源而導(dǎo)致它們必須以一個(gè)不許交叉執(zhí)行的單位執(zhí)行,集不允許兩個(gè)以上的共享該資源的并發(fā)進(jìn)程同時(shí)進(jìn)入臨界區(qū)。 進(jìn)程間的同步是指:異步環(huán)境下的一組并發(fā)進(jìn)程陰直接制約互相發(fā)送消息二進(jìn)行合作、互相等待,是個(gè)進(jìn)程按一定的速度執(zhí)行的過(guò)

3、程。3.13編寫(xiě)一個(gè)程序使用系統(tǒng)調(diào)用fork生成三個(gè)子進(jìn)程,并使用系統(tǒng)調(diào)用pipe創(chuàng)建一管道,使得這3個(gè)子進(jìn)程和父進(jìn)程公用同一條管道進(jìn)行信息通信。答: main()  int r,i,P1,P2,fd2;  char buf50,s50;  pipe(fd);  while(P1=fork()=-1);  if(P1=0)      lockf(fd1,1,0);    sprintf(buf,"child process P1 is sending messages!n")

4、;    printf("child process P1!n");    write(fd1,buf,50);    sleep(5);    lockf(fd1,0,0);    exit(0);    else      while(P2=fork()=-1);    if(P2=0)            lockf(f

5、d1,1,0);       sprintf(buf,"child process P2 is sending messages!n");       printf("child process P2!n");       write(fd1,buf,50);       sleep(5);       lo

6、ckf(fd1,0,0);       exit(0);     else      while(P3=fork()=-1);    if(P3=0)            lockf(fd1,1,0);       sprintf(buf,"child process P3 is sending messages!n"

7、;);       printf("child process P3!n");       write(fd1,buf,50);       sleep(5);       lockf(fd1,0,0);       exit(0);wait(0);    if(r=read(fd0,s,50)=-1)

8、60;      printf("can't read pipen");    else  printf("%sn",s);    wait(0);    if(r=read(fd0,s,50)=-1)       printf("can't read pipen");    else  printf("%sn"

9、,s);wait(0);    if(r=read(fd0,s,50)=-1)       printf("can't read pipen");    else  printf("%sn",s);exit(0);       3.14設(shè)有5個(gè)哲學(xué)家,共享一張放有五把椅子的桌子,每人分得一把椅子。但是桌子上總共只有5支筷子,在每人兩邊分開(kāi)各放一支。哲學(xué)家們?cè)诙亲羽囸I時(shí)才試圖分兩次從兩邊拾起筷子就餐。條件:(1

10、)只有拿到兩只筷子時(shí),哲學(xué)家才能吃飯;(2)如果筷子已在他人手上,則該哲學(xué)家必須等待到他人吃完之后才能拿到筷子;(3)任一哲學(xué)家在自己未拿到兩只筷子吃飯之前,絕不放下自己手中的筷子。試: (1)描述一個(gè)保證不會(huì)出現(xiàn)兩個(gè)鄰座同時(shí)要求吃飯的通信算法。(2)描述一個(gè)既沒(méi)有兩鄰座同時(shí)吃飯,又沒(méi)有人餓死(永遠(yuǎn)拿不到筷子)的算法。(3)在什么情況下,5個(gè)哲學(xué)家全部吃不上飯。答:(1)設(shè)信號(hào)量c0c4,初始值均為1,分別表示I號(hào)筷子被拿(I=0,1,2,3,4)send(I):第一個(gè)哲學(xué)家要吃飯BeginP(cI); P(cI+1 mod 5); Eat; V(cI+1 mod 5); V(cI); End

11、;該過(guò)程能保證兩鄰座不同時(shí)吃飯,但會(huì)出現(xiàn)5個(gè)哲學(xué)家一人拿一支筷子,誰(shuí)也吃不上飯的死鎖情況。(2)解決的思路如下:讓奇數(shù)號(hào)的哲學(xué)家先取右手邊的筷子,讓偶數(shù)號(hào)的哲學(xué)家先取左手邊的筷子。這樣,任何一個(gè)哲學(xué)家拿到一只筷子以后,就已經(jīng)組織了他鄰座的一個(gè)哲學(xué)家吃飯的企圖,除非某個(gè)哲學(xué)家一支吃下去,否則不會(huì)有人會(huì)餓死。send(I)Begin if I mod 2 = 0 then P(cI,P(cI+1 mod 5) Eat; V(cI,V(cI+1 mod 5)else P(cI+1 mod 5) P(cI) Eat V(cI+1 mod 5) V(cI)End(3)在循環(huán)等待的情況下,5個(gè)哲學(xué)家全部吃

12、不上飯。有兩個(gè)進(jìn)程P1,P2,他們分別執(zhí)行下面的程序體,其中total是兩個(gè)進(jìn)程都能訪問(wèn)的共享變量,初始值為0,count是每個(gè)進(jìn)程的私有變量。假設(shè)兩個(gè)進(jìn)程并發(fā)執(zhí)行,并可自由交叉,則兩個(gè)進(jìn)程都執(zhí)行完后,total可能得到的最小值為:P1 int count; for(count=1;count<=50;count+) total=total+1;P2 int count; for(count=1;count<=50;count+) total=total+2; 答:total可能得到的最小值為:3。第4章作業(yè)4.2試述作業(yè)調(diào)度的主要功能。答:作業(yè)調(diào)度的主要功能是:按一定得原則對(duì)外存

13、輸入井上的大量后備作業(yè)進(jìn)行選擇,給選出的作業(yè)分配內(nèi)存、輸入輸出設(shè)備等必要的資源,并建立相應(yīng)的進(jìn)程,是改作業(yè)的相關(guān)進(jìn)程獲得競(jìng)爭(zhēng)處理機(jī)的權(quán)利。另外,當(dāng)作業(yè)執(zhí)行完畢時(shí),還負(fù)責(zé)回收系統(tǒng)資源。4.4進(jìn)程調(diào)度的功能有哪些?答:進(jìn)程調(diào)度的功能有:(1)記錄系統(tǒng)中所有進(jìn)程的執(zhí)行情況;(2)選擇占有處理機(jī)的進(jìn)程;(3)進(jìn)行進(jìn)程上下文切換。4.5進(jìn)程調(diào)度的時(shí)機(jī)有哪幾種?答:進(jìn)程調(diào)度的時(shí)機(jī)有:(1)正在執(zhí)行的進(jìn)程執(zhí)行完畢。這時(shí),如果不選擇新的就緒進(jìn)程執(zhí)行,將浪費(fèi)處理機(jī)資源;(2)執(zhí)行中進(jìn)程自己調(diào)用阻塞原語(yǔ)將自己阻塞起來(lái)進(jìn)入睡眠等待狀態(tài);(3)執(zhí)行中進(jìn)程調(diào)用了P原語(yǔ),從而因資源不足而被阻塞;或調(diào)用了V原語(yǔ)操作激活了等

14、待資源的進(jìn)程隊(duì)列;(4)執(zhí)行中進(jìn)程提出I/O請(qǐng)求后被阻塞;(5)在分時(shí)系統(tǒng)中時(shí)間片已經(jīng)用完;(6)在執(zhí)行完系統(tǒng)調(diào)用,在系統(tǒng)程序返回用戶(hù)進(jìn)程時(shí),可認(rèn)為系統(tǒng)進(jìn)程執(zhí)行完畢,從而可調(diào)度選擇一新的用戶(hù)進(jìn)程執(zhí)行;以上都是在CPU執(zhí)行不可剝奪方式下所引起進(jìn)程調(diào)度的原因。在CPU執(zhí)行方式是剝奪時(shí),還有:(7)就緒隊(duì)列中的某進(jìn)程的優(yōu)先級(jí)變得高于當(dāng)前執(zhí)行進(jìn)程的優(yōu)先級(jí),從而也將引發(fā)進(jìn)程調(diào)度。4.6假設(shè)有4到作業(yè),它們的提交時(shí)刻及執(zhí)行時(shí)間由下表給出:作業(yè)號(hào)提交時(shí)刻/小時(shí)執(zhí)行時(shí)間/小時(shí)110:002210:201310:400.5410:500.3計(jì)算在單道程序環(huán)境下,采用先來(lái)先服務(wù)調(diào)度算法和最短作業(yè)優(yōu)先調(diào)度算法時(shí)的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間,并指出它們的調(diào)度順序。答:假設(shè)所有作業(yè)都已經(jīng)到達(dá),則 (1)先來(lái)先服務(wù)調(diào)度算法:順序開(kāi)始時(shí)間結(jié)束時(shí)間執(zhí)行時(shí)間等待時(shí)間110:0012:0020210:2013:0011.67310:4013:300.52.33410:5013:480.32.67T = 0.25*(2+2.67+2.83+2.97) = 0.25*10.47 = 2.6175(h)W = 0.25*(4+0+1.67/1+2.33/0.5+2.67/0.3) =

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論