進(jìn)程的三種狀態(tài)轉(zhuǎn)換_第1頁
進(jìn)程的三種狀態(tài)轉(zhuǎn)換_第2頁
進(jìn)程的三種狀態(tài)轉(zhuǎn)換_第3頁
進(jìn)程的三種狀態(tài)轉(zhuǎn)換_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、.實(shí) 驗(yàn) 報(bào) 告實(shí)驗(yàn)名稱進(jìn)程的三種狀態(tài)轉(zhuǎn)換專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)課程名稱操作系統(tǒng)指導(dǎo)老師張海燕老師班 級(jí)2011級(jí)二表1班姓 名姜玉龍學(xué) 號(hào)*評(píng) 分實(shí)驗(yàn)地點(diǎn) 1c26217實(shí)驗(yàn)日期 2013/09/18一、實(shí)驗(yàn)?zāi)康?.熟悉進(jìn)程管理及其相關(guān)的基本概念。2.通過實(shí)驗(yàn)掌握進(jìn)程的三種轉(zhuǎn)化,執(zhí)行,就緒,阻塞及其相關(guān)知識(shí)。二、實(shí)驗(yàn)內(nèi)容(含實(shí)驗(yàn)原理介紹)1. 就緒狀態(tài):當(dāng)進(jìn)程已分配到除CPU以外的所有必要的資源,只要獲得處理機(jī)便可立即執(zhí)行,這時(shí)的進(jìn)程狀態(tài)稱為就緒狀態(tài)。2執(zhí)行狀態(tài) :當(dāng)進(jìn)程已獲得處理機(jī),其程序正在處理機(jī)上執(zhí)行,此時(shí)的進(jìn)程狀態(tài)稱為執(zhí)行狀態(tài)。3.阻塞)狀態(tài) 

2、:正在執(zhí)行的進(jìn)程,由于等待某個(gè)事件發(fā)生而無法執(zhí)行時(shí),便放棄處理機(jī)而處于阻塞狀態(tài)。引起進(jìn)程阻塞的事件可有多種,例如,等待I/O完成、申請(qǐng)緩沖區(qū)不能滿足、等待信件(信號(hào))等三、實(shí)驗(yàn)過程及步驟(包含使用軟件或?qū)嶒?yàn)設(shè)備等情況)實(shí)驗(yàn)設(shè)備:裝有vc+6.0的pc實(shí)驗(yàn)步驟: 創(chuàng)建鏈表 LinkList CreateListR(int Num) LinkList head = (LinkList)malloc(sizeof(ListNode) s=(ListNode *)malloc(sizeof(ListNode)返回key結(jié)點(diǎn)位置LinkList LocateNode(LinkList head,Data

3、Type key)while (head->data != key && head)head=head->next; return head;刪除進(jìn)程LinkList LocateNode(LinkList head,DataType key) while (head->data != key && head) head=head->next return head 顯示鏈表void ShowList(LinkList head)head = head->next; 在鏈表中刪除結(jié)點(diǎn)key void ClearList(LinkLi

4、st head,DataType key)刪除鏈表void DeleteList(LinkList head)head=p->next;free(p);p=head;創(chuàng)建鏈表向就緒狀態(tài)轉(zhuǎn)化void FreeToReady(LinkList FreeP,LinkList ReadyP,DataType key)p=FreeP->next; FreeP->next=p->next; p->data=key; q=ReadyP; while(q->next)q=q->next; q->next=p; p->next=NULL;就緒狀態(tài)向執(zhí)行狀態(tài)轉(zhuǎn)

5、化void ReadyToExe(LinkList ReadyP,LinkList ExeP,DataType key) ExeP->next=LocateNode(ReadyP,key); ClearList(ReadyP,key); ExeP->next->next=NULL; printf("Execute process %c success.n",key);執(zhí)行狀態(tài)向就緒狀態(tài)轉(zhuǎn)化void ExeToReady(LinkList ExeP,LinkList ReadyP)p=p->next; p->next=ExeP->next;

6、 ExeP->next=NULL;阻塞狀態(tài)向就緒狀態(tài)轉(zhuǎn)化void BlockToReady(LinkList BlockP,LinkList ReadyP,DataType key) LinkList p,q; p=LocateNode(BlockP,key); q=ReadyP; while(q->next)q=q->next; q->next=p; ClearList(BlockP,key); p->next=NULL; 執(zhí)行狀態(tài)向阻塞狀態(tài)轉(zhuǎn)化void ExeToBlock(LinkList ExeP,LinkList BlockP)LinkList p; p

7、=BlockP; while(p->next)p=p->next; p->next=ExeP->next; ExeP->next=NULL;int main() .cmd=getchar();switch(cmd) case 'c': /創(chuàng)建進(jìn)程 while(LocateNode(ReadyP,Name)|LocateNode(BlockP,Name) |LocateNode(ExeP,Name) Name=Name+1; if(LocateNode(ReadyP,Name) | LocateNode(ExeP,Name) |LocateNode(

8、BlockP,Name) = NULL) FreeToReady(FreeP,ReadyP,Name); case 'P': /輸入進(jìn)程名 if(LocateNode(ReadyP,Name) ReadyToExe(ReadyP,ExeP,Name); case 'E': /結(jié)束進(jìn)程 while(temp->next) temp=temp->next; temp->next=ExeP->next; ExeP->next=NULL; printf("End process %c success.n",temp-&g

9、t;next->data);case 'B': /清空進(jìn)程 if(ExeP->next) printf("Block process %c success.n",ExeP->next->data); else printf("Error: No process executing.n");case 'w': /喚醒進(jìn)程 Name=getchar(); getchar(); if(LocateNode(BlockP,Name) printf("Wakeup process %c success.n",Name);. 四、實(shí)驗(yàn)結(jié)果(含算法說明、程序、數(shù)據(jù)記錄及分析等,可附頁)  五、實(shí)驗(yàn)思考題進(jìn)程狀態(tài)轉(zhuǎn)換中,存在四種狀態(tài)轉(zhuǎn)換。當(dāng)進(jìn)程調(diào)度程序從就緒隊(duì)列中選取一個(gè)進(jìn)程投入運(yùn)行時(shí)引起轉(zhuǎn)換1;正在執(zhí)行的進(jìn)程如因時(shí)間片用完而被暫停執(zhí)行就會(huì)引起轉(zhuǎn)換2;正在執(zhí)行的進(jìn)程因等待的事件尚未發(fā)生而無法執(zhí)行(如進(jìn)程請(qǐng)求完成I/O)則會(huì)引去轉(zhuǎn)換3;當(dāng)進(jìn)程等待的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論