操作系统---实验二、作业调度模拟程序

实验二、作业调度模拟程序

一、        实验目的

 

1)加深对作业调度算法的理解;

(2)进行程序设计的训练。

.实验要求

用高级语言编写一个或多个作业调度的模拟程序。

单道批处理系统的作业调度程序。作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素。

三、        实验方法、步骤及结果测试

 

  1. 1.      源程序名:work1.0.cpp

可执行程序名:work1.0..exe

  1. 2.      原理分析及流程图

存储结构:结构体数组

原理分析:根据实验要求,该程序需要对作业信息进行读入、输入、插入、删除等操作,经过选择调度方法,然后输出调度结果。

实验流程:阅读实验要求,先规划程序结构把程序分为多个部分,然后完善各个部分,最后把各个程序段结合起来à调试

程序运行流程:根据提示输入相应的数字进行功能的选择。

  1. 3.      主要程序段及其解释:

结构体:

 1 struct msg
 2 {
 3 char name[10];
 4 int startTime;//到达时间
 5 int runTime;//服务时间
 6 int endTime;//完成时间
 7 int doTime;//调度时间
 8 float turnaroundTime;//周转时间
 9 float weightedTurnaroundTime;//带权周转时间
10 };

主函数:

 1 void main(){
 2
 3     msg user[24];
 4     int n=0;
 5     float averageTime[2];//用数组来存储平均周转时间(下标为0)和带权平均周转时间(下标为1)
 6     int select1;
 7     int select2=1;;
 8     printf("----作业调度算法的C程序模拟----");
 9
10     while(1)
11     {
12         printf("\n\n\t---菜单---\n\n");
13         printf("\t1.读取作业详情文件\n");
14         printf("\t2.输入作业信息\n");
15         printf("\t3.插入作业\n");
16         printf("\t4.删除作业\n");
17         printf("\t5.选择调度算法(默认为先到先服务算法)\n");
18         printf("\t6.进行调度并输出结果\n");
19         printf("\t7.退出\n");
20         printf("\t---请进行选择(1~7):");
21         scanf("%d",&select1);
22         switch(select1)
23         {
24         case 1:
25             n=readFile(user);
26             break;
27         case 2:
28             n=input(user,n);//接收数据
29             break;
30         case 3:
31             n=insertTheHomework(user,n);
32             break;
33         case 4:
34             deleteJob(user,n);
35             if(n>0)
36                 n--;
37             break;
38         case 5:
39             select2=selectWay();//选择调度算法
40             break;
41         case 6:
42             dealWith(select2,user, averageTime,n);//调度计算
43             output(user,averageTime,n);//输出结果
44             break;
45         case 7:
46             exit(0);
47             break;
48         }
49     }
50 }

源代码地址 :https://github.com/helloyoucan/work/blob/master/work1.0.cpp

  1. 4.      运行结果及分析

运行结果:

实验结果符合预料的结果。

 

 

四、        实验总结

经过这次作业模拟调度实验,充分地了解到系统是如何调入处理作业的,以及调度作业是用到的几种调度算法。

时间: 2024-10-09 10:00:18

操作系统---实验二、作业调度模拟程序的相关文章

操作系统-实验二作业调度模拟程序

实验二作业调度模拟程序 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素.      作业调度算法: 1)        采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2)

操作系统 实验二 作业调度模拟程序

实验二.作业调度模拟程序 专业:商软一班   姓名:赖新耀 学号:201406114129 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素.      作业调度算法: 1)        采用先来先服务(FCFS)调度算法,即按作业到

【操作系统】实验二 作业调度模拟程序

实验二作业调度模拟程序 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素.      作业调度算法: 1)        采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2)

1111《操作系统教程》实验二 作业调度模拟程序

实验二 作业调度模拟程序 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1) 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2) 短作业优先 (SJF

0421实验二 作业调度模拟程序

实验二作业调度模拟程序 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素.      作业调度算法: 1)        采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2)

实验二 作业调度模拟程序

实验二 作业调度模拟程序 一.        实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 二.        实验内容和要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素.      作业调度算法: 1)      采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间

实验二作业调度模拟程序实验报告

实验二作业调度模拟程序 网络工程专业   姓名:蔡利聪  学号:201306114117 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1)       采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进

操作系统实验二 作业调度

一.实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 二.实验内容和要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1) 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2) 短作业优先 (SJF) 调度算法,优先调度要求运行时间最短

实验二作业调度模拟程序

一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素.      作业调度算法: 1)        采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2)        短作业优

实验二作业调度模拟程序(先来先服务(FCFS)调度算法)

1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1)       采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2)       短作业优先 (SJF) 调度算法,优先