教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

5种进程调度算法(4)

来源:网络收集 时间:2026-09-18
导读: void Sort( Process pr[], int size) //以进程优先级高低排序 {// 直接插入排序 for( int i=1;i Process temp; temp = pr[i]; int j=i; while(j>0 temp.leval pr[j] = pr[j-1]; j--; } pr[j] = temp; } // 直接插入

void Sort( Process pr[], int size) //以进程优先级高低排序 {// 直接插入排序 for( int i=1;i

Process temp; temp = pr[i]; int j=i;

while(j>0 && temp.leval

pr[j] = pr[j-1]; j--; }

pr[j] = temp;

} // 直接插入排序后进程按优先级从小到大排列 for( int d=size-1;d>size/2;d--) {

Process temp; temp=pr [d];

pr [d] = pr [size-d-1]; pr [size-d-1]=temp;

} // 此排序后按优先级从大到小排列 }

/*最短作业优先算法的实现*/

void sort1 ( Process pr[], int size) // 以进程时间从低到高排序 {// 直接插入排序 for( int i=1;i

Process temp; temp = pr[i]; int j=i;

while(j>0 && temp.Time < pr[j-1].Time ) {

pr[j] = pr[j-1]; j--; }

pr[j] = temp; } }

/* 先来先服务算法的实现*/

void Fcfs( Process process[], int num, int Timepice)

{ // process[] 是输入的进程,num是进程的数目,Timepice是时间片大小 while(true) { if(num==0) {

cout<<\所有进程都已经执行完毕!\<

if(process[0].LeftTime==0) {

cout<<\进程\<

elseif(process[num-1].LeftTime==0) {

cout<<\进程\<

cout<

process[0].LeftTime=process[0].LeftTime- Timepice; process[0].leval =process[0].leval-1;

cout<<\<

cout<

cout<

cout<<\<

cout<

} } // else cout<

} // while

}

/* 时间片轮转调度算法实现*/

void TimeTurn( Process process[], int num, int Timepice) {

while(true) { if(num==0) {

cout<<\所有进程都已经执行完毕!\<

if(process[0].LeftTime==0) {

cout<<\进程\<

if( process[num-1].LeftTime ==0 ) {

cout<<\进程\<< process[num-1].ProcessName <<\已经执行完毕! \<

elseif(process[0].LeftTime > 0) {

cout<

process[0].LeftTime=process[0].LeftTime- Timepice; process[0].leval =process[0].leval-1;

cout<<\<

cout<

cout<

cout<<\<

cout<

cout<<\就绪\<

cout<<\等待\<

}

运行 Process temp; temp = process[0]; for( int j=0;j

cout<

/* 优先级调度算法的实现*/

void Priority( Process process[], int num, int Timepice) {

while( true) { if(num==0) {

cout<<\所有进程都已经执行完毕!\<

if(process[0].LeftTime==0) {

cout<<\进程\<< process[0].ProcessName <<\已经执行完毕! \<

process[m] = process[m+1]; //一个进程执行完毕后从数组中删除 num--; // 此时进程数目减少一个 }

if( num!=1 && process[num-1].LeftTime ==0 ) {

cout<<\进程\<< process[num-1].ProcessName <<\已经执行完毕! \<

if(process[0].LeftTime > 0) {

cout<

process[0].LeftTime=process[0].LeftTime- Timepice; process[0].leval =process[0].leval-1;

cout<<\<

; 运行\; cout<<\<

cout<<\就绪\<

cout<<\等待 \<

Sort(process, num); cout<

5种进程调度算法(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/612586.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)