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

2019-07-13 19:30

{

if(node->VIP < Head_Link->next->VIP) { } else {

Link = Head_Link->next; flg = q;

node->next = Head_Link->next; Head_Link->next = node;

//while((Link->next != NULL) &&

(node->run_time > Link->next->run_time)) 2010_11_15修改

while((Link->next != NULL) &&

(node->VIP > Link->next->VIP))

}

q = q->next;

}

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

{ }

Link = Link->next;

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

(q->next->come_time < time_over))

//执行队里的头进程

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

间:%-5d,优先

级:%d\\n\

run_time,Head_Link->next->VIP);

///////////////////////////////////////////////////////////////////////

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

puts(\执行完毕!\

Link = Head_Link->next;

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

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

}//end of else if(q->next->come_time <= q->run_time)

}// end of else if(flag0==1)

}// end of if(q==Head_Link->next)

///////////////////////////////////////

else {

time_over = q->come_time + q->run_time;

if(q->next->come_time >= time_over)//假如q 的下一个进程在他

结束后还未到达。等待(队为空)还是出队首进程(对非空) 。。

{

if(Head_Link->next == NULL) //队为空时 1。先执行等待

进程 2。判断等待进程完成之前有无进程等待

{

time1 = q->next->come_time - time_over;

puts(\while(time1) { }

//执行该进程

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

printf(\time1--; Sleep(1000);

间:%-5d,优先

级:%d\\n\

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

puts(\执行完毕!\

//将 在p的next进程执行完成之前的进程 入队 time_over = q->run_time + q->come_time;

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

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

time_over))

{

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) { } else {

if(node->VIP < Head_Link->next->VIP) { } else {

Link = Head_Link->next;

while((Link->next != NULL) && flg = q;

node->next = Head_Link->next;

Head_Link->next = Head_Link->next->next; flg = q;//标记 node->next = NULL; Head_Link->next = node;

(node->VIP > Link->next->VIP))

{ }

node->next = Link->next;

Link = Link->next;

}

}

Link->next = node;

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

(q->next->come_time < time_over))

//执行队里的头进程 if(Head_Link->next!=NULL) {

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

间:%-5d,优先

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

} else {

q = q->next;

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

puts(\执行完毕!\

Link = Head->next;

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

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


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

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

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

马上注册会员

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