如果在单处理器上,有 n 个运⾏时间分别为 t ,t ,t , …, t 的已知作
业,请考虑它们的调度问题。这些作业可以按任意顺序执⾏,⼀次只能执⾏⼀个作业。
#include"stdio.h"
#include"stdlib.h"
typedef struct PCB //定义进程控制块
{
char name[10]; //进程名
char state; //运行状态
int ArriveTime; //到达时间
int StartTime; //进程开始时间
int FinishTime; //进程结束时间
int ServiceTime; //服务时间
float WholeTime;//周转时间
float WeightWholeTime;//带权周转时间
double AverageWT_FCFS; //平均周转时间
double AverageWWT_FCFS;//带权平均周转时间
struct PCB *next; //指向下个进程
}pcb;
double x=0,y=0;
int i;
int time; //计时器
int n; //进程个数
pcb *head=NULL,*p,*q; //进程链表指针
void run_FCFS(pcb *p1) //运行未完成的进程
{
time =