先权是指在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。高优先权优先调度算法可以使紧迫型作业进入系统后能得到优先处理。此算法常被用于批处理系统,作为作业调度算法,也作为多种操作系统中的进程调度算法,还可用于实时系统。该算法用于作业调度时,系统将从后备队列中选择若干个优先权最高的作业装入内存。当用于进程调度时,该算法是把处理机分配给就绪队列中优先权最高的进程。
代码实现的基本思路:
1.在运行界面里输入进程名称,进程优先级和进程时间;
2.每运行一个时间单位,作业的优先权级数减一;
3.在运行出的用户界面中显示初始作业名,作业状态,优先权级数,需要服务的时间,已经运行的时间;
4.每次调度前后显示作业队列。
#include <stdio.h>
#include <stdlib.h>
struct PCB{
char p_name[20];
int p_priority;//优先级别
int p_needTime;//需要的时间
int p_runTime;//运行的时间
char p_state;//状态是如何的,等待状态还是运行状态。
struct PCB* next;
};
void HighPriority();//高优先级
void RoundRobin();//循环,轮询
void Information();
char Choice();
struct PCB* SortList(PCB* HL);
int main()
{
Information();
char choice = Choice();
switch(choice