操作系统进程调度模拟课程设计(java)

上传人:艾力 文档编号:33998130 上传时间:2018-02-19 格式:DOC 页数:19 大小:400.50KB
返回 下载 相关 举报
操作系统进程调度模拟课程设计(java)_第1页
第1页 / 共19页
操作系统进程调度模拟课程设计(java)_第2页
第2页 / 共19页
操作系统进程调度模拟课程设计(java)_第3页
第3页 / 共19页
操作系统进程调度模拟课程设计(java)_第4页
第4页 / 共19页
操作系统进程调度模拟课程设计(java)_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《操作系统进程调度模拟课程设计(java)》由会员分享,可在线阅读,更多相关《操作系统进程调度模拟课程设计(java)(19页珍藏版)》请在金锄头文库上搜索。

1、计算机操作系统课程设计实验报告题目名称 进程调度模拟系统院系 班级 完成时间 2013.1.8指导老师 本次实验成绩组长联系电话邮件地址 组长(姓名、学号)主要任务需求分析,模块设计与代码编写,组织任务分配,PPT 制作,实验报告审定,材料汇总等成员(姓名、学号)主要任务代码的编写实验报告的编写、材料查找等题目 进程调度:模拟 FCFS 和 SJF 进程调度过程实验介绍原理现在的处理机任务量大,多个进程会不同时先后到达,并且各个进程的工作时间也不一定相同,为了使各个进程间不发生冲突,有条不紊的先后运行,并以最短的时间占用处理机, 面对这种发展状况,有必要使用进程调度算法来提高处理机的工作效率。

2、去选择合适的一种进程调度算法达到理想的效果,可以做到信息的规范管理、科学统计和快速运作,从而减少时间上的浪费。用 Java 语句设计实现登陆界面,直观显示各种算法和调度结果,直观地显示运行结果,设计进程调度算法实现用不同算法(先来先服务,短作业优先,高响应比优先调度算法,时间片轮转算法)进行进程调度,算出最短周转时间,实现高效率调度算法。参考资料1 黄祥喜,计算机操作系统实验教程。广州:中山大学出版社,1994.2 汤子瀛, 计算机操作系统(修订版)西安电子科技大学出版社3 Andrew S.Tanenbaum,现代操作系统,机械工业出版社。4 (美)Bruce Eckel. Java 编程思

3、想. 陈昊鹏译. 北京:机械工业出版社,2007 5 王路群.Java 高级程序设计.北京:中国水利水电出版社,20066 孙卫琴. 精通 Struts:基于 MVC 的 Java Web 设计与开发.北京:电子工业出版社,2004.08实验环境(软件和硬件):(1)硬件要求EGA 或 VGA 卡彩显或单显 (640350 以上),单机内存 2M 以上,硬盘40M 以上。客户端计算机采用 586 以上机型,客户端应用程序可以稳定的运行在 Windows07 xp 操作系统之上。(2)软件要求实现前台登陆界面,需用到 JAVA 语句,需要安装 MyEclipse 软件。实验实现数据结构的定义(1

4、) 进程个数 N(2) 进程号 bi0(3) 提交时间 bi1(4) 运行时间 bi2(5) 开始时间 bi3(6) 结束时间 bi4(7) 周转时间 bi5(8) 带权周转时间 bi6算法介绍(可以是流程图、可以是类 C 代码、可以是文字算法描述。 )1. FCFS 算法FCFS 算法是最简单的算法,每次调度是从就绪的进程队列中,选择一个最先进入该队列的进程,为之位置分配处理机,使之运行。(1)先对各进程的提交顺序进行升序排列,选择最先提交的进程开始运行。(2)对已运行结束的进程结束时间与下一个提交的进程时间比较,若大于下一个进程的提交时间,则下一个进程的开始运行时间就是上一个进程的结束时间

5、,否则,下一个进程的开始运行时间就是自己的提交时间。(3)依次向后运行。进入系统构造运行界面 构造函数实现按钮监听实现算法功能实现主函数2. SJF 算法SJF 算法是以作业的长短来计算优先级,作业越短优先级越高。作业长短用所要求的运行时间来衡量。(1)先对各进程的提交顺序进行升序排列,选择最先提交的进程开始运行。(2)对已运行结束的进程结束时间与下一个提交的进程时间比较,若大于下一个进程的提交时间,则下一个进程的开始运行时间就是上一个进程的结束时间,再次对刚运行结束的进程的结束时间与下一个提交的进程时间进行比较;若已运行结束的进程结束时间小于下一个提交的进程时间,则再找到刚刚运行结束的进程结

6、束时间大于余下的的进程提交时间,在这两个进程之间对运行时间升序排列,找到运行时间最短的,开始投入运行。然后对余下的进程的提交时间排序,按此操作循环进行。(3)依次向后运行。3. 时间片轮转调度算法时间片轮转法表示的是系统在给定的时间内,响应所有用户的要求。(1)将所有进程按先来先服务的原则,排成一个队列,每次调度时,把 CPU分配给队首进程,并令其执行一个时间片。(2)执行时间片用完时,由一个计时器发出时钟中断请求,调度程序据此信号来停止该进程的执行,并把他送往就绪队列的末尾。(3)把处理机分配给就绪队列中新的队首进程,同时也让他执行一个时间片。这样就可以保证就绪队列中的所有进程在给定的时间内

7、,均获得一时间片的处理执行时间。4.高响应比优先调度算法该算法综合考虑到先来先服务和短作业优先算法的优缺点,改善了处理机调度的性能。从而引入了优先权,优先权越高,先运行。优先权=(当前时间-提交时间)/运行时间+1当前时间是刚刚运行的进程的结束时间,提交时间是准备运行的进程的提交时间。(1)先对各进程的提交顺序进行升序排列,选择最先提交的进程开始运行。(2)对已运行结束的进程结束时间与下一个提交的进程时间比较,若大于下一个进程的提交时间,则比较剩下的进程的优先权,优先权越大则先运行。下一个进程的开始运行时间就是上一个进程的结束时间,再次对刚运行结束的进程的结束时间与下一个提交的进程时间进行比较

8、;然后对余下的进程的提交时间排序,按此操作循环进行。若已运行结束的进程结束时间小于下一个提交的进程时间,则找到最先提交的进程投入运行, 再次比较优先权。(3)依次向后运行。5.Java 运行界面的实现使用 Java 中 GUI 界面设计,实现各个按钮,文本和标签,再附上一个面板,把表格放到面板上,对于各个按钮实现监听便可对其产生作用。6.系统模块设计及调试1.开始界面任意设置进程个数2.先来先服务算法运行结果3.短作业优先算法运行结果4.时间片轮转调度算法运行结果5.高响应比优先调度算法运行结果本次实践计划、进度安排及完成情况实践计划1资料收集和总结2需求分析和算法设计,界面设计3编程实现及调

9、试,小组讨论及改进4实验报告及 PPT 汇报进度安排12.1012.13 任务分配,资料收集和汇总12.1412.18 需求分析,组员讨论12.1912.23 算法设计,界面设计,组员讨论12.241.3 编程实现及调试,组员讨论1.41.8 实验报告及 PPT 汇报完成情况填写人 完成情况组织任务分配, 材料汇总,需求分析,模块设计与代码编写,实验报告审定,PPT 制作收集资料,需求分析,编写部分程序代码资料查找,需求分析,实验报告编写资料查找,实验报告整理收集资料,需求分析,材料总结,PPT 整理实验心得*:此次操作系统课程设计,作为组长,主要任务为组织任务分配,在技术方面负责需求分析 ,

10、模块设计与代码编写, PPT 制作,实验报告审定,材料汇总等。我们采用 JAVA 语言设计进程调度模拟系统,在给定题目的基础上,增加了两个调度算法,在此模拟系统中实现了四种基本进程调度,并利用 GUI 设计的优势设计出良好的界面风格。从课题确定到正式成稿的一个月过程中,我们进行了合理的计划安排和任务分配,组员合作十分融洽,并每周进行一次集中讨论交流,最终较好地完成了预定目标。在编程实践中,我对 JAVA 语言有了进一步的深入,对进程调度有了更深入的认识。此次团队合作也使我更加明确集体合作的重要性,大家共同讨论,共同搜集资料,集思广益,项目才能圆满完成。相信每一位组员也都收获颇多,很感谢有这么一

11、次机会和大家合作,这会是一次难忘的经历。*:在这次操作系统课程设计中,我的主要任务是编写部分代码。另外,我也协助编写了实验报告以及资料的收集。编写代码过程中,我认真回顾了上学期操作系统的知识及 JAVA 和 C 语言的知识,并仔细编写研究了代码,进行了多次的修改。通过此次课程设计,我对四个进程调度有了更深入的理解(特别是时间片轮转算法) ,同时我的编程能力也得到了提高,综合运用各种编程语言的能力得到了很好的锻炼,很庆幸有这次锻炼的机会。这次小组分工干活更体现出了合作的优越性,相信对我今后的学习和工作会有很大帮助。*:此次课程设计,我参与了实验报告的编写以及资料的查找。在实验报告编写前,我需要对

12、所描述的四个进程有充分的了解,明白他们各自的流程,以及多具有的优缺点;并明白所编写的代码的原理及具体的操作。这些要求也让我对操作系统的调度进程有了进一步的了解与认识,并掌握了对于进程代码的编写与具体操作。小组成员各有分工,也让我明白了分工合作的重要性。*:在这次课程设计中,我担任了查找资料和编写实验报告的任务。在这一过程中,我更深入的了解了四个进程调度的流程、运行及优缺点,并且对进程代码的编写有了一定的了解。对于自己的一些不足,小组成员能够耐心帮助,更让我体会到合作的重要性。*:经过这次操作系统课程设计的项目,我对操作系统中学到的知识认识的更清晰,更透彻。我也明白了个人的能力有限,而集体的能力

13、无限,我们小组共同思考,共同讨论,共同搜集资料,集思广益,项目才能完成的圆满。在此次项目中,我参与了查找资料,需求分析,整理 ppt 等任务。项目的完成与每一个成员的付出和努力分不开关系,我很感谢这次课设项目提供给我们的机会。备注(包括源程序清单及其它说明)源程序清单package NEW2;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class OS extends JFrame implements ActionListenerJButton b1, b2, b3, b4;JTable tabl

14、e;JTextField j2, j3;String str = JOptionPane.showInputDialog(请输入进程数:);int N = Integer.parseInt(str);String process_num = null;String arrive_time = null;String service_time = null;String start_time = null, end_time = null, total_time = null,weightotal_time = null;String a = new StringN7;String name =

15、 进程号, 提交时间, 运行时间, 开始时间, 结束时间, 周转时间, 带权周转时间 ;double avgtotal_time, avgweightotal_time;public OS() super(进程调度算法演示系统_2012_OS 课程设计);Container c = getContentPane();GridBagLayout f = new GridBagLayout();GridBagConstraints gbc = new GridBagConstraints();c.setLayout(f);table = new JTable(a, name);JScrollPan

16、e p1 = new JScrollPane(table);gbc.gridwidth = GridBagConstraints.REMAINDER;gbc.gridheight = 60;gbc.fill = GridBagConstraints.HORIZONTAL;f.setConstraints(p1, gbc);c.add(p1);JLabel label6;label6 = new JLabel(请输入 + N + 组进程号 +提交时间+运行时间:);label6.setFont(new Font(楷体, Font.CENTER_BASELINE, 16);label6.setForeground(new Col

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号