int n;
struct Pro a[20]; show_welcome();
printf(\
n=Input(a);
while(1)
{
int option = 0;
printf(\请选择调度算法(0~3):\\n\printf(\先来先服务\\n\printf(\短作业优先\\n\printf(\响应比高优先\\n\
printf(\判断三个算法的平均周转时间和带权周转时间\\n\
printf(\退出\\n\
scanf(\switch (option) { case 0:
{
printf(\运行结束。\\n\break; }
case 1: case 2:
16
{
printf(\对进程按先来先服务调度。\\n\\n\FCFS(a,n); break; }
{
printf(\对进程按短作业优先调度。\\n\\n\SJF(a,n); break; }
case 3:
{
printf(\对进程按响应比高优先调度。\\n\\n\HRRN(a,n); break; }
case 4:
{
printf(\对于平均周转时间: 采用FCFS算法为:%3.2f SJF算法为:%3.2f HRRN算法为:%3.2f\\n\
printf(\对于平均带权周转时间:采用FCFS算法为:%3.2f SJF算法
为:%3.2f HRRN算法为:%3.2f\\n\
compare();
break; }
default:{printf(\输入错误,请重新输入!\
} }
return 0;
}
17
运行结果:
18
4.心得体会
通过这次课设,让我对进程先来先服务、短作业优先算法以及最高响应比调度算法,有了更深入的认识!初步理解了操作系统对于进程处理的基本思想!在实验的过程中遇到了很多困难,我感觉自己的水平还有待进一步的提高,很感谢我们团队中其他成员给与我的帮助,我们在这次课设中最主要遇到的困难是如何把各自编写的模块整合到一起,最和我们经过详细的讨论,在以往各自的基础上,定义出了统一的数据类型标准,统一的录入数据函数(包括参数和变量)以及输出数据函数,之后我们有各自修改了修改各自的模块,最终实现了我们想要实现的!在这次课设中,我深刻的体会到了团队的力量和重要性,我们合作的非常愉快。
19

