xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 4KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-09
  • 語言: C/C++
  • 標簽: 進程調度??

資源簡介

基于C語言的進程調度算法(優先權)(包括:就緒隊列,完成隊列,運行隊列)

資源截圖

代碼片段和文件信息

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

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

void?insert(PCB?*q)???/*優先數的插入算法*/
{
???PCB?*p1*s*r;
???int?b;
???s=q;??/*待插入的PCB指針*/
???p1=ready;?/*就緒隊列頭指針*/
???r=p1;?/*r做p1的前驅指針*/
???b=1;
???while((p1!=NULL)&&b)??/*根據優先數確定插入位置*/
??????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;??/*否則插入在就緒隊列的頭*/
??????ready=s;
???}
}

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

評論

共有 條評論