非抢占式优先级
#include
#define MAX 10
struct Process
{
char name[10];
float AT;
float sT;
float RT;
float fT;
int priority;//
优先数
int order;//
进程执行次序
int flag;//
标记进程状态
}p[MAX];
int count;
//
排列到达时间
//
按到达时间与优先数计算执行序列
void P()
{
float temp_time=0;
int i=0,j;
int k,temp_count;
int max_priority;
max_priority=p[i].priority;
j=1;
while((j
if(p[j].priority>p[i].priority){
max_priority=p[j].priority;
i=j;
}
j++;
}
k=i;
p[k].sT=p[k].A
T;//
开始时间
=
达到时间
p[k].fT=p[k].sT+p[k].RT;
p[k].flag=1;
temp_time=p[k].fT;
p[k].order=1;
temp_count=1;
while(temp_count
max_priority=0;
for(j=0;j