欢迎来到天天文库
浏览记录
ID:42094660
大小:426.51 KB
页数:18页
时间:2019-09-07
《进程调度算法模拟(操作系统课程设计报告)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、福建农林大学计算机与信息学院课程名称:课程设计报告操作系统实习题目:进程调度算法模拟姓名:系:计算机科学与技术系专业:计算机科学与技术年级:2012学号:指导教师:职称:副教授福建农林大学计算机与信息学院计算机类课程设计结果评定评价内容评价指标评分权值评定成绩软件质量有扎实的基础理论知识和专业知识,能正确设计实验方案;掌握设计课题的基本步骤和方法;独立进行实验工作;对系统进行功能模块分析、控制模块分析正确;编程简练,可用,功能全面;0.4设计报告写作质量系统说明文档包括系统界面、变量说明、系统功能说明、编程算法或思路、流程图和完整程序;
2、综合分析的正确性和设计、计算的正确性;文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;0.4工作量、系统实现的难度工作量饱满,难度较大;0.1工作态度按期完成规定的任务,工作努力,遵守纪律;工作作风严谨务实0.1合计1.0指导教师签字:任务下达日期:评定日期:1.本选题课程设计的目的42.本选题课程设计的要求43.本选题课程设计报告内容43.1前言43.2进程调度算法模拟的环境43.3系统技术分析43.4系统流程图及各模块53.5程序调试情况84.总结11参考文献111•设计目的课程设计将课木上的理论知识
3、和实际有机的结合起来,锻炼学生的分析系统,解决实际问题的能力。提高学牛分析系统、实践编程的能力。2.设计要求利用学到的操作系统和编程知识,完成具有一定难度的系统分析研究或系统设计题目。其中:专题系统理论研究应包括研究目的、目标,论点和论据以及证明推导等;分析、设计系统应包括编写、调试程序以及最后写出设计报告或系统说明文档文件,系统说明文档包括系统界面、变量说明、系统功能说明、编程算法或思路、流程图和完整程序。具体要求如下:1、对系统进行功能模块分析、控制模块分析正确;2、系统设计要实用;3、编程简练,可用,功能全面;4、说明书、流程图要
4、清楚。3.设计方案3.1前言本程序包括三种算法,用C或C++语言实现,执行时在主界面选择算法(可用函数实现),进入子页面后输入进程数,(运行时间,优先数由随机函数产生),执行,显示结果。3.2本选题设计的环境WindowsXP下的MicrosoftVisualC++6.03.3系统技术分析(1)编程实现对N个进程采用某种进程调度算法(如动态优先权调度算法、先来先服务算法、短进程优先算法、时间片轮转调度算法)调度执行的模拟。(2)每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段:进程标识数IDo进程优先数PRIORITY,并
5、规定优先数越人的进程,其优先权越高。进程已占用CPU时间CPUTIMEo进程还需占用的CPU时间ALLTIMEo当进程运行完毕时,ALLTIME变为0。进程的阻塞吋间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。进程状态STATEo队列指针NEXT,用来将PCB排成队列。(3)优先数改变的原则:进程在就绪队列中呆一个时间片,优先数增加1。进程每运行一个时间片,优先数减3。(4)为了清楚地观
6、察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。3.4系统流程图及各模块(1)先来先服务算法FCFS先来先服务调度算法是一种最简单的调度算法,该算法既可以用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将他们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一
7、直运行到完成或发生某事件而阻塞后才放弃处理机。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。先来先服务算法流程图:(2)短进程优先算法SPF短进程(SPF)调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机再重新调度。SJ(P)F调度算法能有效地降低作业(进程)的平均等待时间,提高系统吞吐量。该算法对长作业不利,完全未考虑作业的紧迫程度。短进程优先算法流程图:输出结果(2)吋间片轮转法RR在时间片轮转算法中,系统将所有的就绪进程按先来先服
8、务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。当执行的时间片用完时,由一个计数器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把
此文档下载收益归作者所有