高响应比优先调度算法(Highest Response Ratio Next)是一种对CPU中央控制器响应比的分配的一种算法。HRRN是介于FCFS(先来先服务算法)与SJF(短作业优先算法)之间的折中算法,既考虑作业等待时间又考虑作业运行时间,既照顾短作业又不使长作业等待时间过长,改进了调度性能。 ——百度百科
其中响应比的计算公式为:响应比 =(等待时间+要求服务时间)/ 要求服务时间
用纯C写的,进程信息是随机生成,因为不是重点。。。 有好多问题,还请大佬们指正。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#define MAX_QUEUE_SIZE 100
typedef struct PCB
{
char name[15]; //名称
double index_z; //涉及响应比,使用浮点数
int time_now; //到达时间
int time_need; //需要时间
int time_cpu; //已用cpu时间
char status; //状态 W代表就绪(wait) R代表运行(run) F代表完成(finish)
}PCB;
PCB* create_process(const char *name,int timenow,int need)
{ //PCB创建函数
PCB* new=(PCB*)malloc(sizeof(PCB));
new-&