//调度算法的模拟
//1.FCFS
#include<stdio.h>
#include <malloc.h>
#include <string>
#include <string.h>
#include<iostream>
using namespace std;
struct PCB{
string name;//进程name
int reachTime;//标志进程到达时间
int needTime;//进程所需的时间
bool state;
/*进程的状态,false表示挂起,true表示激活*/
int alltime;//总共所用的时间,即周转时间
bool over; //进程的状态,true表示结束
}P[5]; //声明5个进程
void init();
void processSchedule();
void printPCB(PCB P);
int main(){
init(); //初始化这五个进程
processSchedule();//进程调度
cout<<"进程名称"<<"\t"<<"到达时间"<<"\t"<<"所需时间"<<"\t"<<"周转时间"<<endl;
for(int i = 0; i < 5; i++){
printPCB(P[i]); //打印进程信息
}
return 0;
}
void init(){
P[0].name = "P1";
P[0].reachTime = 0;
P[0].needTime = 4;
P[0].state = 0;
P[0].alltime = 0;
P[0].over = 0;
P[1].name = "P2";
P[1].reachTime = 1;
P[1].needTime = 3;
P[1].state = 0;
P[1].alltime = 0;
P[1
先来先服务调度算法的简单模拟
最新推荐文章于 2021-04-25 18:43:13 发布
这是一个简单的C++程序,用于模拟先来先服务(FCFS)调度算法。程序创建了5个进程,并初始化它们的到达时间、所需时间等属性。通过`processSchedule`函数模拟进程调度过程,计算并输出每个进程的周转时间。程序使用了`setState`函数来确定下一个要执行的进程,直到所有进程完成。

最低0.47元/天 解锁文章
506

被折叠的 条评论
为什么被折叠?



