文档介绍:-林轶锽-处理器管理-优先数调度算法实验————————————————————————————————作者:————————————————————————————————日期: -4313实验名称处理器管理-优先数调度算法指导教师谢旭升成绩实验目的进程调度:在多道程序或者多任务系统中,同时处于就绪态的进程有若干个。在单处理器系统中,处于运行态的进程最多只有一个,也就是说能运行的进程数远小于就绪态进程个数,所以必须进行进程调度,按照一定的调度算法,即依照某种原则或策略从就绪态队列中选中进程占用处理器。本实验要求学生设计一个优先数调度算法来模拟实现处理器调度过程。实验原理和内容实验内容:1、进程的优先数由用户自己指定,并且优先数值越小,优先级越高,调度时,总是选择优先级高的进程占用CPU;估计运行时间可由设计者任意指定一个时间值;2、根据需要,设计一个队首指针指向5个进程(进程名为A,B,C,D,E)组成的就绪队列中的第一个进程,再设一个当前指针指向当前正在运行的进程。3、进程调度时,采用静态优先调度。4、用非抢占式方式分配处理器。5、要求所设计的程序必须有输出语句,用于输出进程调度和运行一次后进程的变化。比如:每次被选中的进程名,就绪队列中进程的排队情况,进程控制块的动态变化。实验步骤::输入进程相应信息(进程名,进程状态,估计运行时间和进程的优先数)。,并按照优先数进行排序输出。,进行进程调度,输出当前正在执行的进程控制块信息及在就绪队列中的进程信息。程序及运行结果(或实验数据记录及分析)4、具体实现代码:#include<>#include<>typedefstructnode{charp_name[20];//进程名intp_priority;//进程的优先数intp_needTime;//估计运行的时间intp_runTime;//进程运行时间charp_state;//进程的状态structnode*next;//链接指针}PCB;typedefPCB*list;voidHighPriority();voidRoundRobin();voidInformation();//进入演示程序charChoice();//演示最高优先数优先算法listSortList(PCB*HL);intmain(){Information();charchoice=Choice();switch(choice){case'1':system("cls");HighPriority();break;default:break;}system("pause");return0;}voidInformation(){printf("按回车键进入演示程序");getchar();system("cls");}charChoice(){printf("\n\n");printf("。");printf("按1继续:");charch=getchar();retur