进程调度算法设计报告材料

进程调度算法设计报告材料

ID:30215275

大小:583.00 KB

页数:16页

时间:2018-12-28

进程调度算法设计报告材料_第1页
进程调度算法设计报告材料_第2页
进程调度算法设计报告材料_第3页
进程调度算法设计报告材料_第4页
进程调度算法设计报告材料_第5页
资源描述:

《进程调度算法设计报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案操作系统课程设计报告题目:进程调度算法院系:信息学院班级:信管11-2姓名:王裕辰学号:1101051024指导教师:赵华精彩文档实用标准文案一、概述本次设计的程序主要功能是模拟CPU的进程调度过程,实现先来先服务调度算法、短作业优先调度算法、非抢占优先权调度算法、时间片轮转法四个进程调度算法,并根据输入的数据和相应的调度算法计算每个进程的调度结果,对四个算法的平均周转时间进行比较和评价。本程序主要解决的是CPU的四种进程调度算法的评价和比较问题,包括平均周转时间和平均等待时间。通过这四种调度算法的比较,有利于加深对四种算法的理解,使用户能够更好、更快的运用四种调度算

2、法。二、设计的基本概念和原理1、基本概念(1)到达时间:指进程到达CPU的时间点。(2)服务时间:指进程需要CPU执行的时间长度。(3)完成时间:指进程执行完成的时间。(4)周转时间:指进程从到达到执行完成所经过的时间。(5)带权周转时间:进程的周转时间与服务时间的比值,用于反映长短进程的差别。(6)平均周转时间:指一个调度算法中所有进程的周转时间的平均值。用于衡量不同调度算法对相同进程的调度性能。(7)平均带权周转时间:指一个调度算法中所有进程的带权周转时间的平均值。用于比较调度算法对不同进程的调度性能。2、基本原理(1)FCFS调度算法按照进程的到达时间从小到大进行排序,放入

3、就绪队列中,每次调度都是从就绪队列中选择对头的进程进入内存,运行此程序至完成,然后继续从就绪队列中再次调入一个进程,运行,结束。重复上述过程直到就绪队列中所有进程全部运行完成。(2)SPF调度算法从就绪队列中选出一个服务时间最短的进程,将其调入内存,将CPU分配给它,使它立即执行并一直执行到完成,然后再从当前就绪队列中选出一个服务时间最短的进程,调入内存执行到完成。重复此过程直到所有进程全部执行完成。(3)非抢占高优先权优先调度算法从就绪队列中选出一个优先权最高的进程,将其调入内存,并为其分配CPU,该进程一直执行直至完成。然后再次重复上述过程。(4)基于时间片的轮转调度算法精彩

4、文档实用标准文案将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并执行一个时间片。当执行的时间片用完,调度进程便停止该进程的执行,并将它送往就绪队列的末尾,然后再把CPU分配给就绪队列中新的队首进程,同时也让它执行一个时间片。三、总体设计本程序才用了结构化程序设计方法,首先将进程抽象为一个类,用用户所输入的每个进程的信息来把每个对象来初始化。然后分块地调用不同的函数实现不同的调度算法。本程序包括以下三个模块:(1)预定义及进程类定义模块定义程序所用到的头文件和常量。定义进程类的类成员,成员函数以及进程的构造函数和析构函数。(2)主程序模块包括以

5、下五个步骤①选择进程调度算法②输入进程相关信息③调用所选的进程调度算法④计算每个进程的完成时间、周转时间、带权周转时间⑤输出每个进程的时间参数,计算并输出所选算法的平均周转时间和平均带权周转时间(3)其它函数模块定义了四种调度算法和程序中调用的其他函数。程序流程图:精彩文档实用标准文案精彩文档实用标准文案四、详细设计每个模块的代码及分析如下:1、预定义及进程类定义模块#include"stdafx.h"#include#include#include#defineMAX100//进程的最大数量classProcess{priv

6、ate:intarritime,sevtime,finitime,zhtime,sevtime1,priority;//arritime---到达时间,sevtime、sevtime1--服务时间,finitime---完成时间,zhtime---周转时间,priority---优先权doubleqtime;//带权周转时间public:stringpname;//进程名Process()//无参构造函数,用于构造对象数组{arritime=0;sevtime=0;sevtime1=0;finitime=0;zhtime=0;qtime=0;priority=0;}intgeta

7、rritime(){returnarritime;}//返回到达时间intgetsevtime(){returnsevtime;}//返回服务时间时间intgetsevtime1(){returnsevtime1;}//返回服务时间1时间intgetfinitime(){returnfinitime;}//返回完成时间intgetzhtime(){returnzhtime;}//返回周转时间intgetprior(){returnpriority;}//返回优先权doublege

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

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

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