91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

基于C語言的進(jìn)程調(diào)度算法(優(yōu)先權(quán))(包括:就緒隊(duì)列,完成隊(duì)列,運(yùn)行隊(duì)列)

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
typedef?struct?node
{
???char?name[10];??/*進(jìn)程標(biāo)識符*/
???int?prio;???/*進(jìn)程優(yōu)先數(shù)*/
???int?cputime;?/*進(jìn)程占用CPU時(shí)間*/
???int?needtime;?/*進(jìn)程到完成還要的時(shí)間*/
???char?state;?/*進(jìn)程的狀態(tài)*/
???struct?node?*next;?/*鏈指針*/
}PCB;
PCB?*finish*ready*run;?/*隊(duì)列指針*/
int?N;?/*進(jìn)程數(shù)*/
/*將就緒隊(duì)列中的第一個(gè)進(jìn)程投入運(yùn)行*/
void?firstin()
{
???run=ready;???/*就緒隊(duì)列頭指針賦值給運(yùn)行頭指針*/
???run->state=‘R‘;???/*進(jìn)程狀態(tài)變?yōu)檫\(yùn)行態(tài)*/
???ready=ready->next;??/*就緒對列頭指針后移到下一進(jìn)程*/
}
void?prt1()????/*標(biāo)題輸出函數(shù)*/
{
?????printf(“??name?????cputime??needtime??priority??state\n“);
}
void?prt2(PCB?*q)??/*進(jìn)程PCB輸出*/
{
???printf(“??%-10s%-10d%-10d%-10d?%c\n“q->name
???????q->cputimeq->needtimeq->prioq->state);
}

void?prt()????/*輸出函數(shù)*/
{
???PCB?*p;
???prt1();??/*輸出標(biāo)題*/
???if(run!=NULL)?/*如果運(yùn)行指針不空*/
??????prt2(run);?/*輸出當(dāng)前正在運(yùn)行的PCB*/
???p=ready;??/*輸出就緒隊(duì)列PCB*/
???while(p!=NULL)
???{
??????prt2(p);
??????p=p->next;
???}
???p=finish;??/*輸出完成隊(duì)列的PCB*/
???while(p!=NULL)
???{
??????prt2(p);
??????p=p->next;
???}
???getch();??/*按任意鍵繼續(xù)*/
}

void?insert(PCB?*q)???/*優(yōu)先數(shù)的插入算法*/
{
???PCB?*p1*s*r;
???int?b;
???s=q;??/*待插入的PCB指針*/
???p1=ready;?/*就緒隊(duì)列頭指針*/
???r=p1;?/*r做p1的前驅(qū)指針*/
???b=1;
???while((p1!=NULL)&&b)??/*根據(jù)優(yōu)先數(shù)確定插入位置*/
??????if(p1->prio>=s->prio)
??????{
?????????r=p1;
?????????p1=p1->next;
??????}
??????else
?????????b=0;
???if(r!=p1)??/*如果條件成立說明插入在r與p1之間*/
???{
??????r->next=s;
??????s->next=p1;
???}
???else
???{
??????s->next=p1;??/*否則插入在就緒隊(duì)列的頭*/
??????ready=s;
???}
}

void?create()????/*優(yōu)先數(shù)創(chuàng)建初始PCB信息*/
{
???PCB?*p;
???int?itime;
???char?na[10];
???ready=NULL;?/*就緒隊(duì)列頭指針*/
???finish=NULL;??/*完成隊(duì)列頭指

評論

共有 條評論

相關(guān)資源