操作系统课程设计时间片轮转算法java实现.docx
- 文档编号:17358391
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:18
- 大小:1.16MB
操作系统课程设计时间片轮转算法java实现.docx
《操作系统课程设计时间片轮转算法java实现.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计时间片轮转算法java实现.docx(18页珍藏版)》请在冰点文库上搜索。
操作系统课程设计时间片轮转算法java实现
创作时间:
二零二一年六月三十日
学校代码:
10128
学号:
201020205056
之老阳三干创作
课程设计
题目:
处置机管理模拟系统的设计与实现
学生姓名:
学院:
信息工程学院
系别:
软件工程系
专业:
软件工程
班级:
指导教师:
副教授
讲师
2013年1月8日
内蒙古工业年夜学课程设计任务书(四)
学院(系):
信息学院软件工程系课程名称:
把持系统课程设计指导教师(签名):
专业班级:
学生姓名:
学号:
一、课程设计题目
处置机管理
二、课程设计的目的
学生通过设计一个模拟单处置机调度的算法,以巩固和加深处置机调度的概念.使学生初步具有研究、设计、编制和调试把持系统模块的能力.
三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等)
原始数据:
进程控制块PCB结构体.
技术参数:
WindowsXP系统,VC++6.0开发工具.
设计要求:
1.设计基于时间片轮转法的处置机调度算法;
2.或设计基于先来先服务或基于优先权的处置机调度算法;
3.画出以上算法流程图;
4.编程实现算法功能;
5.编写课程设计说明书.
工作量要求:
完成以上设计要求中的所有算法功能.
四、工作进度安插
周一:
安插、讲解题目,收集资料;
周二:
系统分析,算法设计;
周三:
编制、调试法式;
周四:
测试系统,形成设计结论,编写课设陈说;
周五:
系统及资料验收,课设辩论.
五、主要参考文献
[1]张尧学编.计算机把持系统教程(第三版)习题解答与实验指导.北京:
清华年夜学出书社,2006
[2]汤子瀛主编.计算机把持系统(第三版).西安:
西安电子科技年夜学出书社,2001
[3]张坤等编.把持系统实验教程.北京:
清华年夜学出书社,2008
审核批准意见
系(教研室)主任(签字)
摘要
把持系统是计算机系统的关键组成部份,负责管理与配置内存、决定系统资源供需的优先次第、控制输入与输出设备、把持网络与管理文件系统等基本任务.对分歧的系统和系统目标,通常采纳分歧的调度算法,如在批处置系统中,为照顾为数众多的短作业,采纳短作业优先调度算法;在分时系统中,为保证系统具有合理的响应时间,采纳时间片轮转法进行调度.采纳算法时,则要考虑多方面因素,以便达到最佳效果.本次课程设计采纳时间片轮转调度算法来实现模拟进程调度任务的执行过程.
用Java模拟进程调渡过程,可以方便地将运行结果直观地暗示出来.Java语言独占的多线程把持,可以实现许多其他语言不能实现的功能,极年夜处所便了法式开发人员对法式的开发.另外,利用JavaGUI编程,可以使系统提供的界面更加友好.实验中,应用文件I/O把持、线程、AWT、Swing、内部类、接口、异常处置等技术,开发此系统.
关键字:
时间片轮转;Java编程;GUI图形用户界面;文件把持;
Abstract
Theoperatingsystemisakeycomponentofthecomputersystem,responsibleforthemanagementandconfigurationmemory,decidedtosystemresourcessupplyanddemandpriority,controlinputandoutputequipment,operationandmanagementofnetworkfilesystem,andotherbasictasks.Fordifferentsystemsandsystemtarget,computersusuallyusedifferentschedulingalgorithm,suchasinaBatchProcessingSystem,inordertotakecareofalotofshortoperation,usingShortJobFirstalgorithm;Insystemswithtimesharing,toensurethesystemhasreasonableresponsetime,needtimesliceRoundRobinalgorithmforscheduling.Thealgorithm,weshouldconsidervariousfactors,inordertoachievethebesteffect.ThisCourseDesignusestimesliceRoundRobinalgorithmtosimulatetheprocessschedulingtaskexecutionprocess.
WithJavasimulationprocessschedulingprocess,whichcanbeconvenientlywillrunresultsintuitivelysaidout.Inaddition,theuseofJavaGUIprogramming,canmakethesystemtoprovidetheinterfacemorefriendly.Experiments,applicationfileI/Ooperation,threads,AWT,Swing,internalclass,interface,abnormalprocessingtechnology,thedevelopmentofthissystem.
Keywords:
timesliceRoundRobin;JavaProgramming;GraphicalUserInterface;
FileOperation;
第一章问题分析1
第二章概要设计3
第三章详细设计5
3.2.1系统框架接口run()7
3.2.3创立进程接口createFrame()8
3.2.4运行法式接口runFrame()8
3.2.5显示结果接口resultFrame()9
第四章系统实现11
第五章自我评价与总结16
参考文献17
第一章问题分析
在多道法式或多任务系统中,系统同时处于就绪态的进程有若干个.也就是说能运行的进程数远远年夜于处置机个数.为了使系统中的各进程能有条不紊地运行,必需选择某种调度战略,以选择一进程占有处置机.要求设计一个模拟单处置机调度的算法,以巩固和加深处置机调度的概念.
问题描述
处置机管理是把持系统中非常重要的部份.为深入理解处置机调度部份的功能,设计一个按时间片轮转调度CPU的算法,模拟实现处置机的调度.
基本要求
时间片轮转调度CPU的算法是分时系统采纳的典范算法,把CPU的执行时间分成若干个一定年夜小的时间片轮流的分配给就绪队列的各个进程,让各就绪进程按指定的顺序分别占用CPU的一个时间片轮流执行下去,直至完成.要求界说进程控制块PCB的结构,并为每个进程任意确定一个要求运行时间和达到时间,依照进程达到的先后顺序排成一个循环队列.设计按时间片轮转的进程调度算法.
a.设计思想
(1)假设系统有5个进程,每个进程用一个进程控制块Process来代表.Process的结构如图1-1所示.对PCB控制块进行包装,形成循环链表结点ProcessNode,链表结点ProcessNode如图1-2所示.
(2)为每个进程从模拟的系统中指定一个要求运行时间和达到时间.
(3)依照进程达到的先后顺序排成一个循环队列,再设一个队首指针head指向第一个达到进程的首址.
(4)执行处置机调度时,从队列的第一个进程开始,用pntmp指针顺序选择可执行的进程执行.
(5)由于本实践是模拟算法,所以对被选中进程其实不实际启动运行,而只是执行:
运行时间加100和输出以后运行进程的相关信息.用这两个把持来模拟进程的一次运行.
b.运行环境
编程语言:
Java语言
第二章概要设计
系统结构条理图
系统功能说明
a.创立进程模块:
创立进程模块在输入进程页面输入要创立的进程数,输入后逐个将进程信息录入拔出到就绪队列中,完成进程的创立过程.
b.运行法式模块:
此模块实现时间片轮转调度算法,从就绪队列中取出进程结点,并模拟运行该进程,反复循环,直至进程全部运行结束.每次运行进程后,将运行信息存入到文件中,实现信息的耐久化.方便信息的记录,系统功能的分析和犯错时便于检查毛病.
c.显示结果模块:
从文件中读入进程运行的结果,在图形界面下把持,提供友好的用户把持方式,方便直观的了解模拟进程的调渡过程,便于数据分析和研究.
a.在创立进程界面将进程信息录入,将进程控制块进行包装,拔出到循环队列中;
b.当运行法式时,每次从就绪队列队首取出一个进程pntmp,判断是pntmp进程否达到.达到则运行该进程;
c.若pntmp进程为首次运行,则记录进程开始运行时间startTime;
d.运行完pntmp进程后,输出进程运行信息,并将此结点移至队尾;
e.若循环队列长度size>0,则返回执行b;否则结束法式;
第三章详细设计
3.2.1系统框架接口run()
publicvoidrun(){//创立系统主页的框架
}
3.2.2增加面板组件接口addComponentsTpPane()
publicstaticvoidaddComponentsTpPane(Containerpane){
//4.监听按钮举措,并发生相应把持,执行对应的功能
}
createFrame()
publicstaticvoidcreateFrame(){
classcreateInputFrameextendsFrameimplementsActionListener{//局部内部类实现创立进程的界面
//窗体按钮等属性的界说
publiccreateInputFrame(Stringstr){//创立进程输入窗口
}
voidpanelCreateProIndex(){//进程输入首页面
}
voidpanelCreateProInput(){//进程信息输入页面
}
publicvoidactionPerformed(ActionEvente){//监听器
}
}
createInputFramecf=newcreateInputFrame("进程创立");//实例化
}
runFrame()
publicstaticvoidrunFrame(){
intcurrenttime=0;//记录系统以后时间
while(size!
=0){
//2.运行时间片轮转调度算法,并记录信息
}
try{//3将运行信息存入文件
Stringfile="D:
\\Java\\Processor\\myfile.txt";
}catch(IOExceptione1){
}
}
resultFrame()
publicstaticvoidresultFrame(){
JFramejf=newJFrame("显示运行结果");
finalJTextAreajta=newJTextArea(16,50);
openbutton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
}
});
}
用户启动此处置机管理模拟系统后,即可方便的进行把持.以下为用户使用此软件时的图形接口:
c.系统主界面(图3-2):
图3-2
d.
图3-3
进程创立页面(图3-3):
第四章系统实现
系统采纳高级语言Java设计实现,法式容易阅读,易于测试,容易调试,方便维护.而且Java为现今最流行的编程语言,有其独到的优点;法式代码符合基本编程规范,方法,属性命名能体现法式的功能.
d.测试数据
进程数num:
2
进程名进程运行时间进程达到时间
神舟1号8000
神舟2号300100
e.预期输出
无输出结果,但创立进程模块将输入数据存入内存,并结束输入返回主界面.
f.运行结果
1 进程数输入界面(图4-1):
图4-1
2 进程信息输入界面(图4-2):
图4-2
3 测试数据
进程数num:
2
进程名进程运行时间进程达到时间
神舟1号8000
神舟2号300100
4 预期输出
系统时间进程名剩余时间已运行次数进程状态周转时间
0神舟1号7001true
100
200神舟1号6002true
300神州2号2001true
400神舟1号5003true
500神州2号1002true
600神舟1号4004true
700神州2号1003false700
800神舟1号3005true
900神舟1号2006true
1000神舟1号1007true
1100神舟1号1008false1200
5 运行结果(图4-3)
图4-3
5.测试数据
无需测试数据
6.预期输出
文件正常翻开,在终端显示相关控制信息及内容;在用户界面显示文件内进程运行时的信息内容及运行的结果;合法的输出;
7.运行结果(图4-4)
图4-4
1)规划管理器实现页面规划时,不能很好的显示在桌面上.对GridLayout,FlowLayout,BorderLayout,CradLyaout等规划管理器还不是很熟悉.
2)对系统结构的划分不妥,没有实现界面和数据处置的分离;
3)对用户的非法把持做了处置,但并没有完全找出处置毛病把持的方法;
4)没有充沛理解将要设计的系统结构,系统条理结构不够清晰;
第五章自我评价与总结
通过本次课程设计,我对把持系统中的处置机的调度算法有了进一步的理解.在对时间片轮转算法进行设计实现的过程中,自己同时也自学了JavaGUI编程,对图形用户界面编程从理论上的认识走向了亲身实践.只有亲自入手编程才华对所学到的内容有深刻的理解,所谓“实践出真知”.此处置机管理模拟系统能够方便直观地显示出基于时间片轮转调度算法的模拟调渡过程,方便了该系统用户的处置机调度算法的学习和研究
实验过程中,查阅了年夜量的JavaAPI相关文档和处置机调度模拟算法,最终形成自己的思路,完成了系统的功能界说和编码测试.尤其是在编码测试环节,配合控制台的显示功能,能及时发现法式中的毛病,处置异常和法式的逻辑毛病.在整个课程设计过程中,先后学习新的知识并巩固了已学到的进程调度,文件把持,异常处置机制,Java的高级类特性,面向对象法式设计,线程把持的相关技术和知识.另外,编写处置机管理模拟系统相关文档也使我对规范化编码和书写相关说明文档进一步规范和熟练.在实验过程中也遇到了许多的问题,有的至今也没有找出好的解决方案.例如,自己过早的急于编码实现,造成了系统的结构条理不够清晰,系统界面与系统功能的实现为实现分离,为以后设计实现软件提供了很好的警示作用.
短短一周的课程设计,我学到了用java编码实现自己从未做过的一些实践,提高了自己的入手能力,反复修改代码的过程中提高了自己自力思考问题的能力.在此特别感谢各位老师的指导,有了老师们的支持,才会使我更加圆满的完成此次课题的设计.不懈的努力使自己向实用型人才更迈进了一步,增加自己的实力,增加了自己的竞争力.
参考文献
1>javaAPI文档《JDK_API_1.6.0_CN.CHM》;
2>赵俊生、马志强著《内蒙古工业年夜学课程设计说明书书写规范》2013年1月
3>刘中兵著《Java高手真经(编程基础卷:
Java核心编程技术)》北京:
电子工业出书社2009年3月
4>郑莉王行言马素霞著《Java语言法式设计》北京:
清华年夜学出书社2010年7月
5>张尧学著《计算机把持系统教程(第三版)》北京:
清华年夜学出书社,2006年
6>汤子瀛主编《计算机把持系统(第三版)》西安:
西安电子科技年夜学出书社,2001年
7>王鹏等编《零基础学Java》北京:
机械工业出书社2008年1月
创作时间:
二零二一年六月三十日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 时间 轮转 算法 java 实现