操作系统实验三 进程调度(5)

2019-07-13 19:30

}

}

else if(Head_Link->next != NULL) {

printf(\进程:%-5s正在运行,到达时间:%-5d,运行时

间:%-5d,优先

级:%d\\n\run_time,Head_Link->next->VIP);

time1 = Head_Link->next->run_time; while(time1) { }

puts(\执行完毕!\

Link = Head->next;

Head_Link->next = Head_Link->next->next; free(Link); p = flg;

printf(\正在执行 %d \\r\time1--; Sleep(1000);

}//end of else if(Head_Link->next != NULL)

}//end of if(q->next->come_time > time_over) else {

time_over = q->run_time;

while((q->next != NULL) && (q->next->come_time <

time_over))

{

Link->next->VIP))

assert(node=(PCB*)malloc(sizeof(PCB))); //建节点 node->come_time=q->next->come_time; //拷贝节点 strcpy(node->name,q->next->name); //拷贝节点 node->run_time=q->next->run_time; //拷贝节点

node->VIP=q->next->VIP; //拷贝节点

//插入 法按短作业升序 插入节点, if(Head_Link->next == NULL) { flg = q;//标记 node->next = NULL; Head_Link->next = node;

} else { if(node->VIP < Head_Link->next->VIP) { flg = q;

node->next = Head_Link->next;

Head_Link->next = Head_Link->next->next; } else { Link = Head_Link->next;

while((Link->next != NULL) && (node->VIP > {

Link = Link->next;

}

}

}

node->next = Link->next; Link->next = node;

}//end of while((q->next != NULL) && (q->next->come_time

< time_over))

优先

级:%d\\n\run_time,Head_Link->next->VIP);

}

if( Head_Link ->next != NULL)

}

time1 = Head_Link->next->run_time; while(time1) { }

puts(\执行完毕!\

Link = Head->next;

Head_Link->next = Head_Link->next->next; free(Link); p = flg;

printf(\正在执行 %d \\r\time1--; Sleep(1000);

//执行队里的头进程

printf(\进程:%-5s正在运行,到达时间:%-5d,运行时间:%-5d,

}//end of else

{

Link = Head_Link->next; while(Link != NULL) {

printf(\进程:%-5s正在运行,到达时间:%-5d,运行时间:%-5d,优先

级:%d\\n\

}

/************************************************************************/

/* *先来先服务算法* */

/************************************************************************/

void Firstcome_Firstserve(PCB *head) {

PCB *Head=My_Copy(head); int counter=1; PCB *h=Head->next; }

}

time1 = Link->run_time; while(time1) { }

Link = Link->next;

printf(\正在执行 %d \\r\time1--; Sleep(1000);

PCB *p;

int time; //进程结束时间, int time2;

while(h!=NULL) {

if(h==Head->next) {

puts(\

printf(\进程:%-5s正在运行,到达时间:%-5d,运行时间:%-5d,优先

级:%-5d\\n\

} else {

time=p->run_time+p->come_time ;

if(time < h->come_time) //p结束但是h还未到达 h的开始

时间就是到达时间

{

puts(\

// Sleep(p->run_time*1000); 2010_06修改 :优化 while(p->run_time) { }

printf(\执行结束!\\n\

time2=h->come_time-time;

printf(\正在执行 %d \\r\p->run_time--; Sleep(1000);


操作系统实验三 进程调度(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:外墙铝塑板挑檐施工-技术交底

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: