1、计算机操作系统计算机操作系统课程设计课程设计实验报告实验报告 题目题目 名称名称 进程调度模拟系统进程调度模拟系统 院系 班级 完成时间 2013.1.8 指导老师 本次实验成绩 组长 联系电话 邮件地址 组长(姓 名、学号) 主要 任务 需求分析,模块设计与代码编写,组织任务 分配,PPT 制作,实验报告审定,材料汇总等 成员(姓 名、学号) 主要 任务 代码的编写 实验报告的编写、材料查找等 题目 进程调度:模拟 FCFS 和 SJF 进程调度过程 实验介绍 原理原理 现在的处理机任务量大,多个进程会不同时先后到达,并且各个 进程的工作时间也不一定相同,为了使各个进程间不发生冲突,有条 不
2、紊的先后运行,并以最短的时间占用处理机, 面对这种发展状况, 有必要使用进程调度算法来提高处理机的工作效率。 去选择合适的一 种进程调度算法达到理想的效果,可以做到信息的规范管理、科学统 计和快速运作,从而减少时间上的浪费。 用Java语句设计实现登陆界面, 直观显示各种算法和调度结果, 直观地显示运行结果,设计进程调度算法实现用不同算法(先来先服 务,短作业优先,高响应比优先调度算法,时间片轮转算法)进行进 程调度,算出最短周转时间,实现高效率调度算法。 参考资料参考资料 1 黄祥喜, 计算机操作系统实验教程。 广州: 中山大学出版社, 1994. 2 汤子瀛, 计算机操作系统(修订版)西安
3、电子科技大学出版社 3 Andrew S.Tanenbaum,现代操作系统,机械工业出版社。 4 (美)Bruce Eckel. Java 编程思想. 陈昊鹏译. 北京:机械工业 出版社,2007 5 王路群.Java 高级程序设计.北京:中国水利水电出版社,2006 6 孙卫琴. 精通 Struts:基于 MVC 的 Java Web 设计与开发.北京: 电子工业出版社,2004.08 实验环境(软件和硬件实验环境(软件和硬件) : (1)硬件要求 EGA或 VGA卡彩显或单显(640350 以上),单机内存 2M以上,硬盘 40M 以上。客户端计算机采用 586 以上机型,客户端应用程序可
4、以稳定的运行在 Windows07 xp 操作系统之上。 (2)软件要求 实现前台登陆界面,需用到 JA V A 语句,需要安装 MyEclipse 软件。 实验实现 数据结构的定义数据结构的定义 (1) 进程个数 N (2) 进程号 bi0 (3) 提交时间 bi1 (4) 运行时间 bi2 (5) 开始时间 bi3 (6) 结束时间 bi4 (7) 周转时间 bi5 (8) 带权周转时间 bi6 算法介绍算法介绍(可以是流程图、可以是类(可以是流程图、可以是类 C 代码、可以是文字算法描述。代码、可以是文字算法描述。 ) 1. FCFSFCFS 算法算法 FCFS 算法是最简单的算法,每次
5、调度是从就绪的进程队列中,选择一个最 先进入该队列的进程,为之位置分配处理机,使之运行。 (1)先对各进程的提交顺序进行升序排列,选择最先提交的进程开始运行。 (2)对已运行结束的进程结束时间与下一个提交的进程时间比较,若大于下 一个进程的提交时间,则下一个进程的开始运行时间就是上一个进程的结束时 间,否则,下一个进程的开始运行时间就是自己的提交时间。 (3)依次向后运行。 2. SJF2. SJF 算法算法 进入系统 构造运行界面 构造函数 实现按钮监听 实 现 算 法 功 实现主函数 SJF 算法是以作业的长短来计算优先级,作业越短优先级越高。作业长短用所 要求的运行时间来衡量。 (1)先
6、对各进程的提交顺序进行升序排列,选择最先提交的进程开始运行。 (2)对已运行结束的进程结束时间与下一个提交的进程时间比较,若大于下 一个进程的提交时间,则下一个进程的开始运行时间就是上一个进程的结束时 间,再次对刚运行结束的进程的结束时间与下一个提交的进程时间进行比较; 若已运行结束的进程结束时间小于下一个提交的进程时间,则再找到刚 刚运行结束的进程结束时间大于余下的的进程提交时间,在这两个进程之间对 运行时间升序排列,找到运行时间最短的,开始投入运行。然后对余下的进程 的提交时间排序,按此操作循环进行。 (3)依次向后运行。 3. 3. 时间片轮转调度算法时间片轮转调度算法 时间片轮转法表示的是系统在给定的时间内,响应所有用户的要求。 (1)将所有进程按先来先服务的原则,排成一个队列,每次调度时,把 CPU 分配给队首进程,并令其执行一个时间片。 (2)执行时间片用完时,由一个计时器发出时钟中断请求,调度程序据此信 号来停止该进程的执行,并