用C语言编程实现先来先服务调度算法
时间: 2024-06-05 18:07:02 浏览: 74
以下是使用C语言编写的先来先服务调度算法的示例代码:
#include <stdio.h>
struct process {
int pid; // 进程编号
int arrival_time; // 到达时间
int burst_time; // 执行时间
};
int main() {
int n; // 进程数
printf("请输入进程数:");
scanf("%d", &n);
struct process p[n]; // 定义进程数组
// 输入进程信息
for (int i = 0; i < n; i++) {
printf("请输入第%d个进程的到达时间和执行时间:", i+1);
scanf("%d%d", &p[i].arrival_time, &p[i].burst_time);
p[i].pid = i+1; // 进程编号从1开始
}
// 先来先服务调度算法
int current_time = 0; // 当前时间
printf("进程调度顺序:");
for (int i = 0; i < n; i++) {
// 执行时间
current_time += p[i].burst_time;
// 输出进程信息
printf("%d ", p[i].pid);
printf("(到达时间:%d,执行时间:%d,完成时间:%d)\n", p[i].arrival_time, p[i].burst_time, current_time);
}
return 0;
}
在该代码中,首先输入进程数和每个进程的到达时间和执行时间,然后按照先来先服务调度算法对进程进行调度,最后输出每个进程的信息,包括到达时间、执行时间和完成时间。
阅读全文