楼主   

   求助:Thanks!!
在一个多道程序设计系统中,实现“作业调度”的模拟。模拟程序的要求如下:
1.输入:
作业流文件,其中存储的是一系列待执行的作业信息,每个作业包括五个数据项:作业号,优先级,进入输入井时间(用一个整数表示,如10:10表示为1010),作业估计运行时间(单位:分钟),内存需求量。各数据项用空格隔开。
2.输出:
按照作业调度次序输出每一个作业流文件:“作业号”、“进入内存时间”、“作业完成时间”、“周转时间”;每行输出一个作业的信息。
计算出平均周转时间并输出。
3.作业调度算法:
短作业优先(作业估计运行时间最短的作业首先被调度)。
4.处理要求:
在两道环境下有多个作业;
程序运行时,首先提示输入测试文件的文件名;
输入文件名后,程序将读入文件中的有关数据,并按照最短作业优先调度算法对作业进行调度,作业被调度运行后不再退出(忽略进程调度或者可以认为进程调度采用的是先来先服务调度算法);
假设内存容量为100K,存储管理方案为可变分区方式,且不允许在内存中移动作业。

数据结构定义:

struct jcb{ char name[10];           /* 作业名 */
            char state;              /* 作业状态 */
            float ts;                  /* 提交时间 */
            float super;               /* 优先权 */
            floattb;                  /* 开始运行时间 */
            float tc;                  /* 完成时间 */
            float ti;                /* 周转时间 */
            float wi;                /* 带权周转时间 */
            floatntime;               /* 作业所需运行时间 */
            struct jcb *link;     };  /* 结构体指针 */

}