课 程 设 计
采用短作业优先调度算法调度程序
学 号: 姓 名: 专 业: 指导老师: 日 期:
目 录
一、实验题目 ............................................................. 3
二、课程设计的目的 .................................................. 3
三、设计内容 ............................................................. 3
四、设计要求 ............................................................. 3
五、主要数据结构及其说明 ....................................... 4
六、程序运行结果 ...................................................... 5
七、流程图 ................................................................. 7
八、源程序文件 ......................................................... 9
九、实验体会 ........................................................... 13
十、参考文献 ........................................................... 13
1
摘要
在多道程序环境下,主存中有着多个进程,其数目往往多于处理机数目。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。由于处理机是最重要的计算机资源,提高处理机的利用率及改善系统性能(吞吐量、响应时间),在很大程度上取决于处理机调度性能的好坏,因而,处理机调度便成为操作系统设计的中心问题之一。 在多道程序系统中,一个作业被提交后必须经过处理机调度后,方能获得处理机执行。对于批量型作业而言,通常需要经历作业调度和进程调度两个过程后方能获得处理机。作业调度是对成批进入系统的用户作业,根据作业控制块的信息,按一定的策略选取若干个作业使它们可以去获得处理器运行的一项工作。而对每个用户来说总希望自己的作业的周转时间是最小的,短作业优先(SJF)便是其中一种调度方法。 本次课程设计主要是模拟短作业优先(SJF)调度算法。
2
一、实验题目
采用短作业优先算法的的进程调度程序
二、课程设计的目的
? 操作系统课程设计是计算机专业重要的教学环节,它为学生提供了一个既动
手又动脑,将课本上的理论知识和实际有机的结合一起,独立分析和解决实际问题的机会。
? 进一步巩固和复习操作系统的基础知识。
? 培养学生结构化程序、模块化程序设计的方法和能力。
? 提高学生调试程序的技巧和软件设计的能力。
? 提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。
三、设计内容
设计并实现一个采用短作业优先算的进程调度算法演示程序
四、设计要求
1. 每一个进程有一个PCB,其内容可以根据具体情况设定。
2. 进程数、进入内存时间、要求服务时间、优先级等均可以在界面上设定
3. 可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长度、进程优先级的初始化
4. 可以在运行中显示各进程的状态:就绪、执行 (由于不要求设置互斥资源与进程间同步关系,故只有两种状态)
5. 采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列
3

