课程设计说明书
课程名称: 操作系统课程设计
专 业: 计算机科学与技术 班级: 2014级2班
设 计 人:
刘威
山 东 科 技 大 学
2016年05月
1
山 东 科 技 大 学 课 程 设 计 任 务 书 一、课程设计题目: 进程调度模拟 二、设计原始资料: 计算机操作系统(第四版) 面向对象程序设计 C++ 三、设计应解决下列各主要问题:
1.先到先服务调度 2. 最短作业优先调度 3.高响应比优先调度 4.(抢占式)优先权调度 5.时间片轮转调度 四、设计说明书应附有下列图纸: 调度算法流程图 五、小组分工说明: 独立完成 六、命题发出日期: 2015.09.29 设计完成日期: 2016.01.15 2
指导教师评语 成绩: 指导教师(签章): 年 月 日 3
山东科技大学学生课程设计
目 录
一、生产者与消费者问题 ........................................................................................................ 2
1.1需求分析 ................................................................................... 错误!未定义书签。
1.3详细设计 ..................................................................................................................... 3 1.4调试分析 ................................................................................................................... 10 1.5用户使用说明 ........................................................................................................... 10 二、 ........................................................................................................................................... 11
2.1需求分析 .................................................................................................................... 11
2.3详细设计 ................................................................................................................... 12 2.4调试分析 ................................................................................................................... 12 2.5用户使用说明 ........................................................................................................... 12 三、 .......................................................................................................................................... 13 3.1需求分析 ................................................................................................................... 13
3.3详细设计 ................................................................................................................... 14 3.4调试分析 ................................................................................................................... 14 3.5用户使用说明 ........................................................................................................... 14 四、 .......................................................................................................................................... 15
4.1需求分析 ................................................................................................................... 15
4.3详细设计 ................................................................................................................... 15 4.4调试分析 ................................................................................................................... 15 4.5用户使用说明 ........................................................................................................... 15 五、 .......................................................................................................................................... 16
5.1需求分析 ................................................................................................................... 16
5.3详细设计 ................................................................................................................... 16 5.4调试分析 ................................................................................................................... 16 5.5用户使用说明 ........................................................................................................... 16 六、课程设计总结 .................................................................................................................. 17
1
山东科技大学学生课程设计
一、进程调度算法模拟
1.1需求分析
在多道程序环境下,内存中存在着多个进程,其数目往往多于处理机数目。这就要求系统能按某种算法,动态地将处理机分配给处于就绪状态的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。对于大型系统运行时的性能,如系统吞吐量、资源利用率、作业周转时间或相应 的及时性等,在很大程度上取决于处理机调度性能的好坏。因而,处理及调度便成为 OS 中至关重要的部分。
1.1.1调度算法目标
1、根据系统的资源分配策略所规定的资源分配算法
2、利用编程语言,模拟实现先来先服务、最短作业优先、高响应比优先优先、(抢占式)优先权、时间片轮转调度算法 3、针对模拟进程,利用进程调度算法进行调度
1.2概要设计
(1) 先到先服务调度算法 按照进程的到达时间从小到大进行排序,放入就绪队列中,每次调度都是从就绪队列中选择对头的进程进入内存,运行此程序至完成,然后继续从就绪队列中再次调入一个进程,运行,结束。重复上述过程直到就绪队列中所有进程全部运行完成。 (2)最短作业优先调度算法 从就绪队列中选出一个服务时间最短的进程,将其调入内存,将CPU分配给它,使它立即执行并一直执行到完成,然后再从当前就绪队列中选出一个服务时间最短的进程,调入内存执行到完成。重复此过程直到所有进程全部执行完成。 (3)高响应比优先调度算法 从就绪队列中选择响应比最高的进程投入运行,直至该进程运行完毕,谢红付上述操作直至就绪队列进程全部完成。 (4) 抢占式优先权优先调度算法
2