数学与计算机学院 课程设计说明书
课 程 名 称: 操作系统-课程设计 课 程 代 码: 8404061 题 目: 进程调度模拟程序 年级/专业/班:
学 生 姓 名: 学 号:
开 始 时 间: 2012 年 5 月 10 日 完 成 时 间: 2012 年 5 月 21 日
课程设计成绩:
学习态度及平技术水平与实创新(5) 时成绩(30) 际能力(20) 说明书撰写质量(45) 总 分(100) 指导教师签名: 年 月 日
进程调度模拟程序
目 录
西华大学数学与计算机学院课程设计任务说明书
1 引言 ................................................. 1 1.1 问题的提出 .................................................... 1 1.2 国内外研究的现状 .............................................. 1 1.3 具体内容 ...................................................... 2 2 程序的主要功能 ......................................... 2 2.1 最高优先数优先的调度算法模拟程序 .............................. 2 2.2 先来先服务算法调度模拟程序 .................................... 3 3 程序运行平台 .......................................... 3 4 总体设计.............................................. 4 4.1 主函数流程图 .................................................. 4 4.2 先来向服务流程图: ............................................ 4 4.3 优先权优先流程图: ............................................ 5 5 程序类及函数的说明...................................... 6 5.1 定义进程控制块结点: .......................................... 6 5.2 全局变量: ..................................................... 6 6 模块分析.............................................. 7 6.1创建进程 ...................................................... 7 6.2返回各个队列的情况 ............................................ 8 6.3 排序 ......................................................... 14 6.4 显示模块 ..................................................... 15 7 系统测试............................................. 17 7.1 按最高优先数算法模拟程序调度 ................................. 17 7.2 按先来先服务算法模拟程序调度 ................................. 25 7.3 退出系统 ..................................................... 30 8 总结与体会 ........................................... 31 9 致谢 ................................................ 31 参考文献 .............................................. 32 附录 ................................................. 33
西华大学数学与计算机学院课程设计说明书
1 引言
1.1 问题的提出
随着科技的发展,越来越多的人开始了解计算机,熟悉计算机,使用计算机,计算机已经成为人们工作、学习、生活的必备工具。用户使用计算机处理各种各样的事情,那么选用怎样的进程调度方式才能使计算机更快更优的为我们服务呢?这就要求我们必须了解操作系统进程调度的算法及其相关原理。
首先硬件机制上如何保证操作系统的内核调度进程可以在一定的时机获得CPU来进行进程调度?
通常我们会在软件层次上找答案,其实,它是通过在CPU的硬件处理机制上实现的。CPU在执行完每个指令的周期后会扫描CPU的内部的一个中断寄存器,查询是否存在中断发生,若没有,则继续执行指令;若有,则保存当前的CPU工作环境,跳转到中断服务列程,CPU执行中断服务程序,在退出中断后,跳转到内核调度程序(这是个内核程序,但是是对所有的进程共享的,包括用户进程),此时,内核调度程序占据CPU,进行进程的调度,以决定下个将占用CPU的进程。
其次了解几种常见的进程调度算法:先来先服务调度算法;短作业(短任务、短进程、短线程)优先调度算法;时间片轮转调度算法;优先级调度算法;高响应比优先调度算法;多级反馈队列调度算法。
1.2 国内外研究的现状
由于调度策略是保障实时应用特性的重要手段之一,所以实时调度是实时系统中备受关注的热点问题,国内外在这方面的研究也取得很多成果。根据调度任务类型我们将实时调度分为两大类:一类是针对单一任务类型的调度,主要包括基于优先级的调度策略、基于比例共享的调度策略和基于时间表的调度策略。另一类为各种类型实时任务的混合调度。典型的有前后台处理法、基于服务器方法和基于时间空闲方法。目前开发的各种实时调度算法对特定实时应用有良好的性能和可预测性。如基于优先级的调度算法适合硬实时任务对截止时间的要求,基
- 1 -