




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆交通大学计算机操作系统课程设计报告班 级: 计软专业 2013 级 班 姓 名: 学 号: 课程设计题目: 先来先服务问题 所 属 课 程 : 计算机操作系统 实验室(中心) : 语音楼 801 指 导 教 师 : 完 成 时 间 : 2015 年 11 月 20 日信息科学与工程学院课程设计成绩单课程名称:计算机操作系统 指导教师:刘洋姓名 刘克 性别 男 学号 631306050224 班级 软件1302 班综合成绩程序运行情况(占总成绩 20%)能正确运行 基本能正确运行 能运行但结果不完善(20 分) (15 分) (10 分)程序功能完善程度(占总成绩10%)完善 基本完善 不完善(10 分) (8 分) (5 分)程序结构的合理性(占总成绩10%)合理 基本合理 不太合理(10 分) (8 分) (5 分)对问题的答辩情况(占总成绩40%)概念正确有创新 能正确回答所有问题 基本能正确回答(40 分) (35 分) (30 分)部分问题回答概念不清晰(20 分)学生的工作态度与 独立工作能力(占总成绩10%)工作态度认真能独立完成任务 工作态度认真但独立性较差(10 分) (8 分)工作态度基本认真但缺乏独立性(5 分)设计报告的规范性(占总成绩10%)符合规范 基本符合规范 规范性较差(10 分) (8 分) (5 分)重庆交通学院信息科学与工程学院课程设计任务书课 程 计算机操作系统 班级 软件 2013 级 班 指导教师 刘洋题 目 先来先服务问题 完成时间 2015 年 6 月 日至 2015 年 11 月 日主要内容 1.利用进程调度算法来模拟 CPU 先来先服务的特点。设计报告要求1封面;2课程设计成绩单、课程设计任务书3内容提要;4“课程设计报告”正文部分:主要应包括:问题分析和任务定义;环境简介;设计:主要是指数据结构与核心算法的设计描述;操作界面的设计;主要功能的算法框架;测试用例设计等内容。编译参数与步骤的说明;上机调试总结与分析;用户使用说明;测试数据与测试结果等内容。课程设计总结:可以包括课程设计过程的收获、遇到的问题及解决过程的思考、对数据结构这门课程的思考和认识等内容。附录程序清单5参考文献版面要求1.题目用黑体三号,段后距 18 磅(或 1 行),居中对齐;2.标题用黑体四号,段前、段后距 6 磅(或 0.3 行);3.正文用小四号宋体,行距为 1.25 倍行距;4.标题按“一”、“”、“1”、“”顺序编号。星期周次 一 二 三 四 五 六17 周指导时间安排18 周指导地点一、 问题分析和任务定义(1) 问题分析本问题是要模拟 CPU 先来先服务进程调度,即多个进程谁先得到 CPU 资源谁就先执行,其余的进入等待序列。等到进程执行完毕,释放 CPU 资源之后,最早进入等待序列的进程优先执行。依次类推,直到所有的进程执行完毕。先来先服务(First Come First Server)是典型的进程常见的进程调度算法。FCFS 总是把当前处于就绪队列之首的那个进程调度到运行状态。也就说,它只考虑进程进入就绪队列的先后,而不考虑它的下一个 CPU 周期的长短及其他因素。FCFS 算法简单易行,但性能却不大好。(2) 任务定义对于 FCFS 算法,一般使用队列来完成,因为队列有着先来先服务的特点。利用 java 编写可视化程序,在界面上绘制 4 个小球,绘制一个就绪队列的矩形和一个 CPU 矩形。点击“开始”,则 4 个小球以不同的速度(速度每次开始运行程序随机生成)开始运动,最先到达 CPU 边缘的小球优先通过 CPU 矩形,其余的小球在就绪队列矩形开始等待。小球通过 CPU 矩形之后,先进入就绪队列的小球优先通过 CPU 矩形。直到所有的小球通过 CPU 矩形。二、 环境简介开发工具:eclipse操作系统:win10三、 设计:主要是指数据结构与核心算法的设计描述;操作界面的设计;主要功能的算法框架;测试用例设计等内容。(1) 界面设计如上所示:左侧是初始状态的小球,右侧是就绪队列和 CPU 矩形。下面是“开始”、“关闭”、“重置”按钮。(2) 算法设计首先定义两个队列 waitQueue(等待队列)和 runQueue(运行队列),定义 move 函数来控制小球的运动。小球开始运动到 CPU 边缘时首先判断runQueue 队列之中是否有元素,如果没有则将小球的序号进队,如果有元素,则要判断该元素是否是它本身(因为 move 函数要不断的调用,下次判断时队列之中的元素有可能是它本身),如果不是,则进入 waitQueue。进入 runQueue之中的小球可以继续前进,等到小球运动出 CPU 矩形之后,则从 runQueue 出队并且从 waitQueue 弹出一个元素进入 runQueu 之中。这样最早进入等待序列中是小球就可以继续前进了。move 函数代码如下:public void move(int i)/i 为小球编号,n 为移动速度if(finishnum=3else if(moveXi490)moveXi+=speedi;else if(runQueue.size()=0) runQueue.offer(i);/把 i 压入队列else if (x=runQueue.peek()=ielse if(numi=0)waitQueue.offer(i);/如果不是它自己则进入就绪队列numi+;/保障只进一次队if(moveXi=770) moveXi+;finishnum+;if(runQueue.size()!=0)runQueue.remove();/到达终点之后则出运行队列if(waitQueue.size()!=0)/如果就绪队列之中有值,则出队runQueue.offer(waitQueue.poll();(3) 测试用例设计在界面上有“开始”、“关闭”、“重置”按钮,点击“开始”按钮则四个小球开始移动,点击“重置”按钮则小球恢复至本次的初始状态,重新执行。四、 上机调试总结与分析调试结果显示:先来先服务的基本功能已经实现,基本没有 bug。在界面上可以添加“暂停”,“继续”按钮来控制小球的运动。五、 用户使用说明点击“开始”按钮就可以看到小球开始运动,最先到达 CPU 边缘的小球会继续前进,其余的小球则在 CPU 边缘之外开始等待,等到小球通过 CPU 矩形后,小球停止在 CPU 矩形之外。这时,最先开始等待的小球开始通过 CPU 矩形。直到所有的小球通过 CPU 矩形为止。最终小球会停止在 CPU 边缘之外。点击“重置”则重复此次小球运行状态。点击“关闭”则关闭程序界面。六、 测试数据与测试结果等内容。测试结果如下:初始界面红球通过 CPU,其余小球开始等待小球全部通过 CPU八、课程设计总结这次的实验花了我不少的时间,因为一开始不知道怎么做。使用 C#来写是很简单的,但是这是个典型的线程问题,虽然有线程但是我们并没有学,所以也不会使用。我们这学期学了 java,所以我最终决定使用 java 来写这个实验。而 java 使用线程以及搭建界面都是比较麻烦的,但是功夫不负有心人,我还是完成这个实验。总体来说这次课程设计的收获还是很多的,首先是我们这学期刚学了 java语言,但是由于课时较少,只有八周的学习时间,所有说编的程序并不是很多,对于 java 语言了解的也不够深入,尤其是 java 可视化程序更是不太会写,通过这次的课程设计,我基本掌握了 java 界面的搭建方法,以及界面布局的方法。更多的收获是对于 java 的一大特色线程有了更深入的了解。之前很少使用线程去写程序的。这次使用了线程之后我才发现 java 线程的应用还是非常方便的。在写此程序的过程中遇到的问题还是很多的,比如说界面的搭建以及小球和矩形的绘制等,但这些都是属于 java 编程的内容,基本上在网上可以找到比较好的解决方案。最大的问题就是小球移动的算法设计了,在我对于先来先服务的算法进行分析之后,最终找到了使用队列解决该问题的方法。九、附录程序清单(1)FCFS.java 清单package 先来先服务;import java.awt.Frame;public class FCFS public static void main(String args) / TODO Auto-generated method stub MyFrame frame=new MyFrame(“先来先服务“);frame.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年心理咨询师考试试卷及答案指导
- 2025年人力资源管理师职业能力测试试题及答案
- 2025年婚姻家庭关系考试卷及答案
- 2025年房地产经济学学科知识考核试卷及答案
- 2025年公共政策与决策分析考试试卷及答案
- 2025年广告学专业考试试题及答案
- 2025年公共卫生与事业发展专业综合素质测评试题及答案
- 下册第一单元语文作文7篇
- 特色农产品产销对接合作契约
- 诗词创作体验活动设计
- 七年级课外名著阅读知识竞赛试题及答案
- 赣美版八年级美术下册《第5课 产品包装设计》教学设计
- 中国血脂管理指南理论知识考核试题及答案
- 血管活性药物静脉输注护理
- 村级积分制管理
- Nikon尼康D3100中文说明书
- 国家开放大学2024春《1494员工劳动关系管理》期末考试真题及答案-开
- DBJ∕T 13-234-2024 不发火建筑地面应用技术标准
- 2024年安徽省高考政治+历史+地理试卷(真题+答案)
- 2024年新疆中考地理真题卷及答案
- 人教版初三物理总复习电学专题复习教学设计
评论
0/150
提交评论