#">
任務二、單處理機系統(tǒng)的進程調(diào)度

任務二、單處理機系統(tǒng)的進程調(diào)度

ID:15467031

大?。?30.00 KB

頁數(shù):7頁

時間:2018-08-03

任務二、單處理機系統(tǒng)的進程調(diào)度_第1頁
任務二、單處理機系統(tǒng)的進程調(diào)度_第2頁
任務二、單處理機系統(tǒng)的進程調(diào)度_第3頁
任務二、單處理機系統(tǒng)的進程調(diào)度_第4頁
任務二、單處理機系統(tǒng)的進程調(diào)度_第5頁
資源描述:

《任務二、單處理機系統(tǒng)的進程調(diào)度》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。

1、任務二、單處理機系統(tǒng)的進程調(diào)度實驗目的:1、加深對進程概念的理解,明確進程和程序的區(qū)別2、深入了解系統(tǒng)如何組織進程,創(chuàng)建進程3、進一步認識如何實現(xiàn)處理機調(diào)度。實驗代碼:#include"stdio.h"#include#include#definegetpch(type)(type*)malloc(sizeof(type))#defineNULL0structpcb{/*定義進程控制塊PCB*/charname[10];charstate;intsuper;intntime;intrtime;structpcb*link;}*rea

2、dy=NULL,*p;typedefstructpcbPCB;voidsort()/*建立對進程進行優(yōu)先級排列函數(shù)*/{PCB*first,*second;intinsert=0;if((ready==NULL)

3、

4、((p->super)>(ready->super)))/*優(yōu)先級最大者,插入隊首*/{p->link=ready;ready=p;}else/*進程比較優(yōu)先級,插入適當?shù)奈恢弥?/{first=ready;second=first->link;while(second!=NULL){if((p->super)>(second->super))/*若插入進程

5、比當前進程優(yōu)先數(shù)大,*/{/*插入到當前進程前面*/p->link=second;first->link=p;second=NULL;insert=1;}else/*插入進程優(yōu)先數(shù)最低,則插入到隊尾*/{first=first->link;second=second->link;}}if(insert==0)first->link=p;}}voidinput()/*建立進程控制塊函數(shù)*/{inti,num;printf("請輸入進程數(shù)量:");scanf("%d",&num);for(i=0;i

6、p=getpch(PCB);printf("輸入進程名:");scanf("%s",p->name);printf("輸入進程優(yōu)先數(shù):");scanf("%d",&p->super);printf("輸入進程運行時間:");scanf("%d",&p->ntime);printf("");p->rtime=0;p->state='w';p->link=NULL;sort();/*調(diào)用sort函數(shù)*/}}intspace(){intl=0;PCB*pr=ready;while(pr!=NULL){l++;pr=pr->link;}return(l);}vo

7、idshow(){printf("qnametstatetsupertndtimetruntime");}voiddisp(PCB*pr)/*建立進程顯示函數(shù),用于顯示當前進程*/{printf("%st",pr->name);printf("%ct",pr->state);printf("%dt",pr->super);printf("%dt",pr->ntime);printf("%dt",pr->rtime);printf("");}voidcheck()/*建立進程查看函數(shù)*/{PCB*pr;printf("****當前正在運行

8、的進程是:%s",p->name);/*顯示當前運行進程*/show();disp(p);pr=ready;if(pr==NULL)printf("****當前就緒隊列為空!");else{printf("****當前就緒隊列狀態(tài)為:");/*顯示就緒隊列狀態(tài)*/show();while(pr!=NULL){disp(pr);pr=pr->link;}}}voiddestroy()/*建立進程撤消函數(shù)(進程運行結束,撤消進程)*/{printf("進程[%s]已完成.",p->name);free(p);}voidrunning()/*建立進程就緒函數(shù)(

9、進程運行時間到,置就緒狀態(tài)*/{(p->rtime)++;if(p->rtime==p->ntime)destroy();/*調(diào)用destroy函數(shù)*/else{(p->super)--;p->state='w';sort();/*調(diào)用sort函數(shù)*/}}voidmain()/*主函數(shù)*/{intlen,h=0;charch;input();len=space();while((len!=0)&&(ready!=NULL)){ch=getchar();h++;printf("當前運行次數(shù)為:%d",h);p=ready;ready

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。