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

資源簡(jiǎn)介

1.編寫并調(diào)試一個(gè)模擬的進(jìn)程調(diào)度程序,采用“最高優(yōu)先數(shù)優(yōu)先”調(diào)度算法對(duì)五個(gè)進(jìn)程進(jìn)行調(diào)度。 2、用“簡(jiǎn)單輪轉(zhuǎn)法調(diào)度算法”實(shí)現(xiàn)第一題

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#define?getpch(type)?(type*)malloc(sizeof(type))
#define?NULL?0

struct?pcb???/*?定義進(jìn)程控制塊PCB?*/
{
????char?name[10];???????//進(jìn)程名
????char?state;?????????//進(jìn)程狀態(tài)
????int?super;??????????//進(jìn)程優(yōu)先級(jí)
????int?ntime;?????????//進(jìn)程需要運(yùn)行時(shí)間
????int?rtime;??????????//進(jìn)程已經(jīng)運(yùn)行的時(shí)間
????struct?pcb*?link;
}*ready=NULL*p;
typedef?struct?pcb?PCB;

void?sort()?/*?建立對(duì)進(jìn)程進(jìn)行優(yōu)先級(jí)排列函數(shù)*/
{
????PCB?*first?*second;
????int?insert=0;
????if((ready==NULL)||((p->super)>(ready->super)))?/*優(yōu)先級(jí)最大者插入隊(duì)首*/
????{
????????p->link=ready;
????????ready=p;
????}
????else?/*?進(jìn)程比較優(yōu)先級(jí)插入適當(dāng)?shù)奈恢弥?/
????{
????????first=ready;
????????second=first->link;
????????while(second!=NULL)
????????{
????????????if((p->super)>(second->super))?/*若插入進(jìn)程比當(dāng)前進(jìn)程優(yōu)先數(shù)大*/
????????????{
????????????????/*插入到當(dāng)前進(jìn)程前面*/
????????????????p->link=second;
????????????????first->link=p;
????????????????second=NULL;
????????????????insert=1;
????????????}
????????????else?/*?插入進(jìn)程優(yōu)先數(shù)最低則插入到隊(duì)尾*/
????????????{
????????????????first=first->link;
????????????????second=second->link;
????????????}
????????}
????????if(insert==0)?first->link=p;
????}
}

void?input()?/*?建立進(jìn)程控制塊函數(shù)*/
{
????int?i;
????system(“cls“);?/*清屏*/
????printf(“\n?請(qǐng)輸入五個(gè)進(jìn)程信息:\n“);
????for(i=0;?i<5;?i++)
????{
????????printf(“\n?進(jìn)程號(hào)No.%d:\n“i);
????????p=getpch(PCB);
????????printf(“\n?輸入進(jìn)程名:“);
????????scanf(“%s“p->name);
????????printf(“\n?輸入進(jìn)程優(yōu)先數(shù):“);
????????scanf(“%d“&p->super);
????????printf(“\n?輸入進(jìn)程運(yùn)行時(shí)間:“);
????????scanf(“%d“&p->ntime);
????????printf(“\n“);
????????p->rtime=0;
????????p->state=‘w‘;
????????p->link=NULL;
????????sort();?/*?調(diào)用sort函數(shù)*/
????}
}

int?space()?????//計(jì)算進(jìn)程控制塊的個(gè)數(shù)
{
????int?l=0;
????PCB*?pr=ready;
????while(pr!=NULL)
????{
????????l++;
????????pr=pr->link;
????}
????return(l);
}

void?disp(PCB?*?pr)?/*建立進(jìn)程顯示函數(shù)用于顯示當(dāng)前進(jìn)程*/
{
????printf(“\n?qname?\t?state?\t?super?\t?ndtime?\t?runtime?\n“);
????printf(“|%s\t“pr->name);
????printf(“|%c\t“pr->state);
????printf(“|%d\t“pr->super);
????printf(“|%d\t“pr->ntime);
????printf(“|%d\t“pr->rtime);
????printf(“\n“);
}

void?check()?/*?建立進(jìn)程查看函數(shù)?*/
{
????PCB*?pr;
????printf(“\n?****?當(dāng)前正在運(yùn)行的進(jìn)程是:%s“p->name);?/*顯示當(dāng)前運(yùn)行進(jìn)程*/
????disp(p);
????pr=ready;
????printf(“\n?****當(dāng)前就緒隊(duì)列狀態(tài)為:\n“);?/*顯示就緒隊(duì)列狀態(tài)*/
????while(pr!=NULL)
????{
????????disp(pr);
????????pr=pr->link;
????}
}

void?destroy()?/*建立進(jìn)程撤消函數(shù)(進(jìn)程運(yùn)行結(jié)束撤消進(jìn)程)*/
{
????printf(“\n?進(jìn)程?[%s]

評(píng)論

共有 條評(píng)論