操作系统进程调度课程设计

操作系统进程调度课程设计

ID:6788978

大小:1.13 MB

页数:16页

时间:2018-01-25

操作系统进程调度课程设计_第1页
操作系统进程调度课程设计_第2页
操作系统进程调度课程设计_第3页
操作系统进程调度课程设计_第4页
操作系统进程调度课程设计_第5页
资源描述:

《操作系统进程调度课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程设计课程名称操作系统题目名称进程调度学生学院计算机学院专业班级计算机科学与技术13(2)学号学生姓名指导教师2015年1月13日学生姓名专业班级计算机科学与技术12(2)学号题目进程调度指导教师题目编号06主要内容本课程设计要求编程进程调度的四个算法。通过具体的进程调度算法的实现,加深对进程调度算法实现过程的理解。任务要求进程调度是低级调度,它的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。1.假设一个系统中有5个进程,它们的到达时间和服务时间如下表所示,忽略I/O以及其他开销时间。进程到达时间服务时间A03B26C44D65E822.分别实现按照先来先服务(FCFS)

2、、非抢占及抢占的短进程优先(SPF)、高响应比优先(HRRN)以及时间片轮转(RR、时间片=1)调度算法进行CPU调度。3.分别在不同算法控制下运行设计的程序,给出各进程的完成时间、周转时间、带权周转时间和平均带权周转时间。(计算到小数点后两位)4.选用程序设计语言:C、C++等。参考文献[1]计算机操作系统,汤小丹等,西安电子科技大学出版社[2]操作系统实验指导书,傅秀芬,广东工业大学(自编)[3]计算机操作系统教程(第二版),张尧学、史美林,清华大学出版社[4]现代操作系统,A.S.Tanenbaum著,陈向群等译机械工业出版社审查意见指导教师签字:系主任签字:年月日目录1.设计目的

3、42.设计内容43.设计步骤53.1.需求分析53.2.概要设计53.2.1设计思想53.2.2模型定义53.3.3主程序流程图53.3.4各程序模块之间的层次(调用)关系63.3详细设计73.3.1功能类定义73.3.2函数调用关系图73.3.3各模块流程图83.4调式分析83.5系统测试93.6使用说明134.经验与体会145.重要数据结构或源程序中的疑难部分说明141.设计目的设计编程进程调度的四个算法。通过具体的进程调度算法的实现,加深对进程调度算法实现过程的理解,并且采用Android端动态显示,加深MVC模式的理解与使用。2.设计内容进程调度是低级调度,它的主要功能是根据一定

4、的算法将CPU分派给就绪队列中的一个进程。设计一个系统中有5个进程,它们的到达时间和服务时间如下表所示,忽略I/O以及其他开销时间。进程到达时间服务时间A03B26C44D65E82算法实现:先来先服务(FCFS)、非抢占及抢占的短进程优先(SPF)、高响应比优先(HRRN)以及时间片轮转(时间片=1)调度算法。计算显示:各进程的完成时间、周转时间、带权周转时间和平均带权周转时间。(计算到小数点后两位)上述设计采用java程序语言编程硬件环境:win8-PC和Android4.4.2系统手机软件环境:eclipse+adt3.设计步骤3.1.需求分析要求实现4个算法演示进程调度过程,其中

5、短作业优先算法可拆分成非抢占式和抢占式(合计成5个)。用户生成任务要求的测试数据后,选择对应的算法启动进程调度,Android端界面动态显示调度过程,并记录各状态的个数及其各进程的完成时间、周转时间、带权周转时间和平均带权周转时间。3.2.概要设计3.2.1设计思想由于需要在Android端动态演示过程,把整个流程的逻辑处理和界面显示分离开来,结合MVC分层思想,线程通信机制,使用Android中的适配器来实现数据处理和界面显示的结合。首先定义计时器,每隔一秒运行一次子任务。该子任务处理好变化的数据后发送一个消息给UI线程。UI线程接受消息后,把处理的数据放进适配器后进行显示。所有任务处

6、理完后重置计时器。3.2.2模型定义定义进程类,用来记录进程在调度中数据的变化。使用多个泛型链表,分别才能不同状态的进程。3.3.3主程序流程图开始用户添加测试进程选择调度算法启动进程调度UI界面动态演示N是否退出Y结束3.3.4各程序模块之间的层次(调用)关系对应算法处理数据用户产生测试数据适配器UI显示数据3.3详细设计3.3.1功能类定义3.3.2函数调用关系图CourseDesignActivityinitListener()initView()go()makeTestDate()sortAllList()condition2()condition3()3.3.3各模块流程图开始

7、开始调用算法修改数据点击按钮产生测试数据结束结束开始开始调用适配器装载数据调用测试数据进入适配器调用装载数据的适配器显示UI结束结束3.4调式分析问题一:时间片控制不当导致数据显示混乱。解决方法:画流程图,在运行队列中每更换对象,就重置时间片。检查了不止10遍,最后控制好每一个交换对象细节,终于结局。问题二:运行和就绪队列合并成同一个队列出错。解决方法:Java编程中,对队列使用foreach时对泛型对象移动时,其底层会处理成迭代器

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。