c++语言编程实现作业调度算法具体代码
时间: 2023-04-05 10:04:55 浏览: 316
我可以回答这个问题。作业调度算法有很多种,比如先来先服务(FCFS)、短作业优先(SJF)、最高响应比优先(HRRN)等等。以下是一个简单的 FCFS 调度算法的 C 语言代码示例:
```
#include <stdio.h>
int main()
{
int n, i, j, bt[20], wt[20], tat[20], avwt = 0, avtat = 0;
printf("Enter total number of processes(maximum 20): ");
scanf("%d", &n);
printf("\nEnter Process Burst Time\n");
for(i = 0; i < n; i++)
{
printf("P[%d]: ", i+1);
scanf("%d", &bt[i]);
}
wt[0] = 0; // Waiting time for first process is 0
// Calculate waiting time
for(i = 1; i < n; i++)
{
wt[i] = 0;
for(j = 0; j < i; j++)
wt[i] += bt[j];
}
printf("\nProcess\tBurst Time\tWaiting Time\tTurnaround Time");
// Calculate turnaround time and average waiting time
for(i = 0; i < n; i++)
{
tat[i] = bt[i] + wt[i];
avwt += wt[i];
avtat += tat[i];
printf("\nP[%d]\t\t%d\t\t%d\t\t%d", i+1, bt[i], wt[i], tat[i]);
}
avwt /= i;
avtat /= i;
printf("\n\nAverage Waiting Time: %d", avwt);
printf("\nAverage Turnaround Time: %d", avtat);
return 0;
}
```
这段代码实现了一个简单的 FCFS 调度算法,可以计算出每个进程的等待时间和周转时间,并输出平均等待时间和平均周转时间。
阅读全文