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

正文內(nèi)容

最新進(jìn)程模擬調(diào)度算法課程設(shè)計(jì)-資料下載頁

2025-06-24 01:16本頁面
  

【正文】 入進(jìn)程的個(gè)數(shù): )。 scanf(%d,amp。n)。 create(n)。 prt()。}.短作業(yè)調(diào)度.算法思想 短作業(yè)優(yōu)先調(diào)度算法是指對短作業(yè)進(jìn)行調(diào)度的算法。它從后備隊(duì)列總選擇一個(gè)或若干個(gè)運(yùn)行時(shí)間最短的作業(yè),將他們調(diào)入內(nèi)存運(yùn)行。.算法流程圖:開始輸入進(jìn)程名就緒隊(duì)列空?結(jié)束 Y N按時(shí)間服務(wù)進(jìn)行排序執(zhí)行程序短作業(yè)優(yōu)先算法流程圖.程序代碼include include include typedef struct node{ char name[10]。 /*進(jìn)程名*/ int cputime。 /*占用cpu時(shí)間*/ int needtime。 /*要求運(yùn)行時(shí)間*/ char state。 /*狀態(tài)*/ struct node *next。 /*指針*/}PCB。PCB *ready, *run, *finish。 //就緒、執(zhí)行、結(jié)束指針int N。 //進(jìn)程數(shù)量void print() //輸出函數(shù){ PCB *p。 printf( NAME CPUTIME NEEDTIME STATUS\n)。 if(run != NULL) printf( %10s%10d%10d %c\n, runname, runcputime, runneedtime, runstate)。 /*輸出執(zhí)行的進(jìn)程的信息*/ p=ready。 while(p != NULL) { printf( %10s%10d%10d %c\n, pname, pcputime, pneedtime, pstate)。 /*輸出就緒進(jìn)程的信息*/ p=pnext。 } p=finish。 while(p != NULL) { printf( %10s%10d%10d %c\n, pname, pcputime, pneedtime, pstate)。 /*輸出結(jié)束隊(duì)列的信息*/ p=pnext。 } getchar()。 /*使用getchar()函數(shù)可以讓輸出時(shí)停留畫面, 等待人按回車?yán)^續(xù)*/} void insert(PCB *q) /*插入新進(jìn)程,把進(jìn)程按進(jìn)程到來時(shí)間大小排序*/{ PCB *p1,*s,*r。 int b。 s=q。 /*指針s指向新要插入的進(jìn)程*/ p1=ready。 /*指針p1指向原來的進(jìn)程隊(duì)列的隊(duì)首*/ r=p1。 /*使用指針r是指向p1前面的進(jìn)程*/ b=1。 while((p1!=NULL)amp。amp。b) if(p1needtimesneedtime) { r=p1。 p1=p1next。 } /*新進(jìn)程的開始時(shí)間大,則p1 指向下一個(gè)進(jìn)程繼續(xù)比*/ else b=0。 if(r!=p1) { rnext=s。 snext=p1。 } /*新進(jìn)程找到位置,插在r和p1之間*/ else { snext=p1。 ready=s。 } /*新進(jìn)程的開始時(shí)間按最小,插在隊(duì)首,并修改就緒隊(duì)首ready指針*/} void create() { PCB *p。 int i。 ready=NULL。 run=NULL。 finish=NULL。 printf(Please enter the name and time of PCB:\n)。 /*輸入進(jìn)程名、運(yùn)行時(shí)間和開始時(shí)間*/ for(i=0。iN。i++) { p=(PCB *)malloc(sizeof(PCB))。 /*為新進(jìn)程開辟空間*/ scanf(%s,pname)。 /*輸入進(jìn)程名*/ scanf(%d,amp。pneedtime)。 /*輸入進(jìn)程要求運(yùn)行時(shí)間*/ pcputime=0。 pstate=39。W39。 /*表示就緒隊(duì)列中未在隊(duì)首先執(zhí)行,但也是就緒狀態(tài)*/ if (ready!=NULL) insert(p)。 /*就緒隊(duì)首不為NULL,插入新進(jìn)程*/ else { /*否則先插在NULL前*/ pnext=ready。 ready=p。 } } printf( Display is going to start: \n)。 printf(***********************************************\n)。 print()。 getchar()。 run=ready。 /*隊(duì)列排好,run指向就緒隊(duì)列隊(duì)首*/ ready=readynext。 /*ready指向下一個(gè)進(jìn)程*/ runstate=39。R39。 /*隊(duì)首進(jìn)程的狀態(tài)為就緒*/}void SJF(){ while(run != NULL) { runcputime=runcputime+runneedtime。 runneedtime=0。 runnext=finish。 finish = run。 runstate=39。E39。 run = NULL。 if(ready != NULL) { run = ready。 runstate=39。R39。 ready=readynext。 } print()。 }}void main(){ printf(Please enter the total number of PCB:\n)。 scanf(%d,amp。N)。 create()。 /*模擬創(chuàng)建進(jìn)程,并輸入相關(guān)信息*/ SJF()。 /*短作業(yè)優(yōu)先調(diào)度算法*/}.測試結(jié)果截圖及操作說明首先輸入2個(gè)控制進(jìn)程快,分別命名s1和s2 。圖47所有作業(yè)都在隊(duì)列中,并都處于等待狀態(tài)圖48其中一個(gè)作業(yè)執(zhí)行完畢圖49所有進(jìn)程執(zhí)行完畢三.測試分析 (進(jìn)程),而不利于短作業(yè)(進(jìn)程)。因?yàn)槎套鳂I(yè)運(yùn)行時(shí)間很短,如果讓它等待較長時(shí)間才得到服務(wù),那么,它的帶權(quán)周轉(zhuǎn)時(shí)間就會(huì)很高;先來先服務(wù)調(diào)度算法有利于CPU繁忙型的作業(yè),不利于I/O繁忙型的作業(yè),而目前大多數(shù)事務(wù)處理都屬于I/O繁忙型作業(yè)。 ,提高系統(tǒng)吞吐量。然而該算法對長作業(yè)不利,因?yàn)檎{(diào)度程序總是優(yōu)先調(diào)度那些短作業(yè),將導(dǎo)致長作業(yè)長期不被調(diào)度,該算法完全未考慮作業(yè)的緊迫程度,因而不能保證緊迫性作業(yè)會(huì)被及時(shí)處理,由于作業(yè)的長短只是根據(jù)用戶提供的估計(jì)執(zhí)行時(shí)間而定的,而用戶又可能有意無意地縮短其作業(yè)的估計(jì)運(yùn)行時(shí)間,致使該算法不能真正做到短作業(yè)優(yōu)先調(diào)度; ,而那些優(yōu)先級較低的則可能長時(shí)間得不到調(diào)度;靜態(tài)優(yōu)先級調(diào)度算法簡單易行,系統(tǒng)開銷小,但是不太靈活,很可能出現(xiàn)低優(yōu)先級的作業(yè),長期得不到調(diào)度而等待的情況;靜態(tài)優(yōu)先級法僅適合于實(shí)現(xiàn)要求不太高的系統(tǒng)。動(dòng)態(tài)優(yōu)先級調(diào)度算法比較靈活科學(xué),可防止有一些進(jìn)程一直得不到調(diào)度,也可防止有些進(jìn)程長期壟斷處理機(jī),但是需要花費(fèi)相當(dāng)多的執(zhí)行程序時(shí)間,因而花費(fèi)的系統(tǒng)開銷比較大。 ,減少了進(jìn)程的等待時(shí)間,但是時(shí)間片設(shè)得太短會(huì)導(dǎo)致過多的進(jìn)程切換,降低了CPU效率;而設(shè)得太長又可能引起對短的交互請求的響應(yīng)變差。將時(shí)間片設(shè)為100毫秒通常是一個(gè)比較合理的折衷 ; ,短作業(yè)優(yōu)先,時(shí)間片輪轉(zhuǎn)和優(yōu)先級調(diào)度算法的優(yōu)點(diǎn),故多級反饋隊(duì)列調(diào)度對大多數(shù)進(jìn)程調(diào)度來說是一種最佳的調(diào)度算法,但具體算法則應(yīng)根據(jù)實(shí)際需求選擇。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1