FCFS算法 c++实现
时间: 2024-06-02 18:06:54 浏览: 99
FCFS(First Come, First Served)算法是一种简单的进程调度算法,它按照进程到达的先后顺序来分配CPU时间。在该算法中,当一个进程到达CPU时,如果前面没有正在执行的进程,则该进程立即执行;如果前面有正在执行的进程,则该进程会排在其后面等待执行。
下面是FCFS算法的C++实现,假设已经定义了一个Process类表示进程:
```
#include <iostream>
#include <queue>
#include "Process.h"
using namespace std;
void FCFS(queue<Process>& processQueue) {
int currentTime = 0;
while (!processQueue.empty()) {
Process process = processQueue.front();
processQueue.pop();
cout << "Process " << process.getID() << " starts at time " << currentTime << endl;
currentTime += process.getExecutionTime();
cout << "Process " << process.getID() << " ends at time " << currentTime << endl;
}
}
int main() {
queue<Process> processQueue;
// 将进程按照到达时间排序并加入队列中
// ...
FCFS(processQueue);
return 0;
}
```
在该代码中,我们首先定义了一个FCFS函数来实现进程调度,它接受一个进程队列作为参数。在主函数中,我们可以将所有进程按照到达时间排序并加入队列中,然后调用FCFS函数进行进程调度。在FCFS函数中,我们通过一个while循环来依次处理队列中的每个进程。对于每个进程,我们输出其开始执行和结束执行的时间,并更新当前时间。
阅读全文