freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

北京聯(lián)合大學操作系統(tǒng)實驗報告進程管理-文庫吧資料

2024-11-21 05:09本頁面
  

【正文】 CH()算法 否 將就 緒隊列的第一個進程插入到運行鏈表中 將進程插入到完成隊列中 就緒隊列不為空 開始 就緒隊列為空 CPUTIME++ NEEDTIME— PRIO3 CPUTIME為 0 否 是 是 結(jié)束 是 否 是 否 進程計數(shù)器等于進程輪轉(zhuǎn)時間片 count=0 就緒隊列不為空 將就緒隊列的第一個進程插入到運行鏈表中 是 打印狀態(tài) 否 否 將就緒隊列的第一個進程插入到運行鏈表中將進程插入到完成隊列中就緒隊列不為空開始就緒隊列為空 — 為否是是結(jié)束 是 優(yōu)先數(shù)算法: 輪轉(zhuǎn)法算法: 兩種算法的優(yōu)缺點的比較 1) 優(yōu)先數(shù)調(diào)度算法通過為進程的設(shè)置的優(yōu)先數(shù)進行調(diào)度,優(yōu)先級高的先調(diào)度,這樣有利于緊急事件快速得 到相應(yīng),是從進程重要程度考慮設(shè)計的調(diào)度算法。 } } flag = 1。 /*計數(shù)器清零,為下次做準備 */ InsertTime(run)。W39。 flag = 0。F39。 runneedtime。 while(flag) { runcount++。 GetFirst()。 GetFirst()。 flag = 0。 runcount++。 } else /*將進程狀態(tài)置為 W,入就緒隊列 */ { runstate = 39。 /*進程執(zhí)行的次數(shù)加一 */ InsertFinish(run)。F39。 /*CPU時間片加一 */ runneedtime。 /*輸出每次調(diào)度過程中各個節(jié)點的狀態(tài) */ while(flag) { runprio = 3。 GetFirst()。 InsertTime(tmp)。 tmp round = 2。W39。 tmp cputime = 0。 scanf(%d,amp。 } scanf(%s,tmpname)。 i++) { if((tmp = (PCB *)malloc(sizeof(PCB)))==NULL) { perror(malloc)。 for(i = 0。 int i。 InsertPrio(tmp)。 /*設(shè)置優(yōu)先級,時間越多優(yōu)先級越低 */ tmp round = 0。W39。 tmp cputime = 0。 /*吸收回車符號 */ scanf(%d,amp。 } scanf(%s,tmpname)。 i++) { if((tmp = (PCB *)malloc(sizeof(PCB)))==NULL) { perror(malloc)。 for(i = 0。 int i。 fst next = in。 } else { while(fstnext != NULL) { fst = fstnext。 if(finish == NULL) { innext = finish。 } } void InsertFinish(PCB *in) /*將進程插入到完成隊列尾部 */ { PCB *fst。 } in next = fst next。 ready = in。 fst = ready。 in next = fst。 fst next = in。 fst = fstnext。 ready = in。 ready = in。 fst = nxt = ready。 p = pnext。 } p = run。 while(p!=NULL) { printf(%s\t%d\t%d\t%d\t%d\t\t%c\t\t%d\n,pname,pprio,pround,pcputime,pneedtime,pstate,pcount)。 p = pnext。 printf(進程名 \t優(yōu)先級 \t輪數(shù) \tcpu時間 \t需要時間 \t進程狀態(tài) \t計數(shù)器\n)。 } } void Output() /*輸出隊列信息 */ { PCB *p。 ready = ready next。 if(ready!=NULL) { run state = 39。 return 0。 default:break。 RoundRun()。r39。R39。 break。: PrioCreate()。: case 39。 switch(chose) { case 39。 scanf(%c,amp。 getchar()。 scanf(%d,amp。 /*時間片輪轉(zhuǎn)調(diào)度 */ int main(void) { char chose。 /*時間片輸入函數(shù) */ void Priority()。 /*時間片隊列 */ void PrioCreate()。 /*創(chuàng)建優(yōu)先級隊列,規(guī)定優(yōu)先數(shù)越小,優(yōu)先級越高 */ void InsertTime(PCB *in)。 /*從就緒隊列取得第一個節(jié)點 */ void Output()。 /*定義三個隊列,就緒隊列,執(zhí)行隊列和完成隊列 */ int num。 /*鏈表指針 */ }PCB。 /*進程的狀態(tài), W就緒態(tài), R執(zhí)行態(tài), F完成態(tài) */ int count。 /*CPU執(zhí)行時間 */ int needtime。 /*進程的優(yōu)先級 */ int round。 LinkQueue 為隊列的數(shù)據(jù)類型 源程序清單流程圖與注釋 1) 源程序清單: include include include typedef struct node { char name[20]。 //LinkQueue 隊列數(shù)據(jù)結(jié)構(gòu) 首先自定義隊列總結(jié)點的信息, QNode 代表結(jié)點數(shù)據(jù)類型, QueuePtr 為指向結(jié)點的指針。 //隊頭指針 QueuePtr Tail。 }QNode ,*QueuePtr。 3) 隊列: typedef struct QNode { struct PCB data。 }LNode,*LinkList。 結(jié)構(gòu)體主要是將 PCB 中的內(nèi)容
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1