- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统课程设计实验报告
题目
名称 进程调度模拟系统 院系 班级 完成时间 2013.1.8 指导老师 本次实验成绩
组长
联系电话 邮件地址 组长(姓名、学号) 主要
任务 需求分析,模块设计与代码编写,组织任务分配,PPT制作,实验报告审定,材料汇总等 成员(姓名、学号) 主要
任务 代码的编写
实验报告的编写、材料查找等
题目 进程调度:模拟FCFS和SJF进程调度过程
实验介绍
原理
现在的处理机任务量大,多个进程会不同时先后到达,并且各个进程的工作时间也不一定相同,为了使各个进程间不发生冲突,有条不紊的先后运行,并以最短的时间占用处理机, 面对这种发展状况,有必要使用进程调度算法来提高处理机的工作效率。去选择合适的一种进程调度算法达到理想的效果,可以做到信息的规范管理、科学统计和快速运作,从而减少时间上的浪费。
用Java语句设计实现登陆界面,直观显示各种算法和调度结果,直观地显示运行结果,设计进程调度算法实现用不同算法(先来先服务,短作业优先,高响应比优先调度算法,时间片轮转算法)进行进程调度,算出最短周转时间,实现高效率调度算法。
参考资料
[1] 黄祥喜,计算机操作系统实验教程。广州:中山大学出版社,1994.
[2] 汤子瀛,《计算机操作系统(修订版)》西安电子科技大学出版社
[3] Andrew S.Tanenbaum,现代操作系统,机械工业出版社。
[4] (美)Bruce Eckel. Java编程思想. 陈昊鹏译. 北京:机械工业出版社,2007
[5] 王路群.Java高级程序设计.北京:中国水利水电出版社,2006
[6] 孙卫琴. 精通Struts:基于MVC的Java Web设计与开发.北京:电子工业出版社,2004.08
实验环境(软件和硬件):
(1)硬件要求
EGA或VGA卡彩显或单显(640×350以上),单机内存2M以上,硬盘40M以上。客户端计算机采用586以上机型,客户端应用程序可以稳定的运行在 Windows07 xp操作系统之上。
(2)软件要求
实现前台登陆界面,需用到JAVA语句,需要安装MyEclipse软件。
实验实现
数据结构的定义
进程个数 N
进程号 b[i][0]
提交时间 b[i][1]
运行时间 b[i][2]
开始时间 b[i][3]
结束时间 b[i][4]
周转时间 b[i][5]
带权周转时间 b[i][6]
算法介绍(可以是流程图、可以是类C代码、可以是文字算法描述。)
1. FCFS算法
FCFS算法是最简单的算法,每次调度是从就绪的进程队列中,选择一个最先进入该队列的进程,为之位置分配处理机,使之运行。
(1)先对各进程的提交顺序进行升序排列,选择最先提交的进程开始运行。
(2)对已运行结束的进程结束时间与下一个提交的进程时间比较,若大于下一个进程的提交时间,则下一个进程的开始运行时间就是上一个进程的结束时间,否则,下一个进程的开始运行时间就是自己的提交时间。
(3)依次向后运行。
2. SJF算法
SJF算法是以作业的长短来计算优先级,作业越短优先级越高。作业长短用所要求的运行时间来衡量。
(1)先对各进程的提交顺序进行升序排列,选择最先提交的进程开始运行。
(2)对已运行结束的进程结束时间与下一个提交的进程时间比较,若大于下一个进程的提交时间,则下一个进程的开始运行时间就是上一个进程的结束时间,再次对刚运行结束的进程的结束时间与下一个提交的进程时间进行比较;
若已运行结束的进程结束时间小于下一个提交的进程时间,则再找到刚刚运行结束的进程结束时间大于余下的的进程提交时间,在这两个进程之间对运行时间升序排列,找到运行时间最短的,开始投入运行。然后对余下的进程的提交时间排序,按此操作循环进行。
(3)依次向后运行。
3. 时间片轮转调度算法
时间片轮转法表示的是系统在给定的时间内,响应所有用户的要求。
(1)将所有进程按先来先服务的原则,排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。
(2)执行时间片用完时,由一个计时器发出时钟中断请求,调度程序据此信号来停止该进程的执行,并把他送往就绪队列的末尾。
(3)把处理机分配给就绪队列中新的队首进程,同时也让他执行一个时间片。这样就可以保证就绪队列中的所有进程在给定的时间内,均获得一时间片的处理执行时间。
4.高响应比优先调度算法
该算法综合考虑到先来先服务和短作业优先算法的优缺点,改善了处理机调度的性能。从而引入了优先权,优先权越高,先运行。
优先权=(当前时间-提交时间)/运行时间+1
当前时间是刚刚运行的进程
文档评论(0)