操作系统实验课(二)(3)响应比高优先调度算法

# include 
# include 

typedef struct PCB{
	char name;        //进程名字 
	double ArriveTime;   //进程到达时间 
	double StartTime;    //进程开始时间 
	double ServiceTime;  //进程运行时间 
	double FinishTime;   //进程完成时间 
	double TotalTime;    //进程周转时间
	double WeightTime;//进程带权周转时间 
	double Response;  //响应比 
	bool x;			  //进程是否完成 
}pcb; 

void initPCB(pcb*a,int n);
void hrrn(pcb*a,int n);
void sortService(pcb*a,int l,int r);
int wait(pcb*a,int x,int n,double time);

int main(){
	int n;
	printf("输入要创建的进程数\n");
	scanf("%d",&n); 
	printf("请初始化进程\n"); 
	pcb a[n];
	initPCB(a,n);
	hrrn(a,n);
	return 0;
}

void initPCB(pcb*a,int n){   //初始化进程池 
	
	int i;
	char name;
	double  ArriveTime;
	double  ServiceTime;
	for(i=0;itime)
			break;
		a[i].Response=(time-a[i].ArriveTime)/a[i].ServiceTime;
	}
	return i-1;
}

流程图

操作系统实验课(二)(3)响应比高优先调度算法_第1张图片

你可能感兴趣的:(C/C++,操作系统)