预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

短作业优先调度算法 学院计算机科学与技术 专业 学号 学生姓名 指导教师姓名 2014-3-18 目录 一、实验题目........................................................................................................... 二、课程设计的目的............................................................................................... 三、设计内容........................................................................................................... 四、设计要求........................................................................................................... 五、主要数据结构及其说明................................................................................... 六、程序运行结果................................................................................................... 七、源程序文件....................................................................................................... 八、实验体会........................................................................................................... 九参考文献……………………………………………………………………………………………………… 实验题目 采用短作业优先算法的进程调度程序 课程设计的目的 操作系统课程设计是计算机专业重要的教学环节,它为学生提供了一个既 动手又动脑,将课本上的理论知识和实际有机的结合一起,独立分析和解 决实际问题的机会。 进一步巩固和复习操作系统的基础知识。 培养学生结构化程序、模块化程序设计的方法和能力。 提高学生调试程序的技巧和软件设计的能力。 提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。 设计内容 设计并实现一个采用短作业优先算的进程调度算法演示程序 设计要求 1.每一个进程有一个PCB,其内容可以根据具体情况设定。 2.进程数、进入内存时间、要求服务时间、优先级等均可以在界面上设定 3.可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、 时间片长度、进程优先级的初始化 4.可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源 与进程间同步关系,故只有两种状态) 5.具有一定的数据容错性 主要数据结构及其说明 算法的简要说明:短作业(进程)优先调度算法SJ(P)F,是指对短 作业或短进程优先调度的算法。它们可以分别用于作业调度和进程调度。短 作业优先(SJF)的调度算法是从后备队列中选择一个或若干个估计运行时间 最短的作业,将它们调入内存运行。而短进程(SPF)调度算法则是从就绪 队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执 行并一直执行到完成,或发生某事件而被阻塞放弃处理机再重新调度。优点 是SJ(P)F调度算法能有效地降低作业(进程)的平均等待时间,提高系统吞 吐量。缺点是该算法对长作业不利;完全未考虑作业的紧迫程度,因而不能 保证紧迫性作业(进程)长期不被调度;由于作业(进程)的长短只是根据 用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作 业的估计运行时间,致使该算法不一定能真正做到短作业游戏那调度。 该程序定义了一个进程数据块(structspf),该数据块有进程名(name)、到 达时间(arrivetime)、服务时间(servicetime)、开始执行时间(starttime)、完成时 间(finishtime)、周转时间(zztime)、带权周转时间(dqzztime)。用到的公式有: 完成时间=到达时间+服务时间;周转时间=完成时间-到达时