课程设计:采用高响应比算法的进程调度程序

课程设计:采用高响应比算法的进程调度程序

ID:21873511

大小:462.25 KB

页数:26页

时间:2018-10-25

课程设计:采用高响应比算法的进程调度程序_第1页
课程设计:采用高响应比算法的进程调度程序_第2页
课程设计:采用高响应比算法的进程调度程序_第3页
课程设计:采用高响应比算法的进程调度程序_第4页
课程设计:采用高响应比算法的进程调度程序_第5页
资源描述:

《课程设计:采用高响应比算法的进程调度程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、摘要岛相应比算法是综合先来先服务和最短作业优先的一种算法,既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点优点是:短作业与先后次序的兼顾,且不会使长作业长期得不到服务,不足的是响应比计算系统开销,增加系统开销。短作业优先调度算法+动态优先权机制该算法屮的响应比是指作业等待时间与运行比伉,响应比公式定义如下.•响应比=(等待时间+要求服务时间)/要求服务时间,SPRR=(w+s)/s=l+w/s,因此响应比一定是大于丨的目录1.概&32.课程设计任务及要求42.1设计任

2、务42.2设计要求(多道、单处理机):43.算法及数据结构53.1算法的总体思想53.2进程控制块53.3主函数模块73.4界面模块84.程序设计与实现104.1程序流程图104.2程序代码(要注释)104.3实验结果205.组仑226.收获、体会和建议。237.参考文献。241.概述操作系统系统在计算机中占据了十分重要的作用,它是配罝在计算机硬件上的第一层软件,是计算机系统资源的管理者,在OS的帮助下计算机可以方便、快捷、安全地操纵计算机硬件和运行A□的程序,实现了对计算机资源的抽象。在多道程序运行的环

3、境下,人们引入了“进程”对并发执行的程序加以描述和控制。程序执行时,会有多个进程进入内存,而进程的数目往往多于处理机的数目,此时就需要有个很优化的调度算法,动态的把处理机分配给就绪队列屮的进程,以提高处理机的利用率及改善系统的性能。在批处理系统屮,短作业优先算法是一种比较好的算法,但是不足之处是长作业得不到保证。而高响应比优先就解决了这个难题。在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,且进程之间也存在着同步与互斥的关系,要求采用指定的调度策略,使系统中的进程有条不紊地工作,通过观

4、察诸进程的运行过程,以巩同和加深处理机调度的概念2.课程设计任务及要求2.1设计任务黎健荣:查阅资料,详细了解高响应比算法,C++MFC知识,做出界面及算法代码,测试调试程序,完成课程设计报告。课程设计时间工作进程12月24日上午详细了解高进程响应比算法12月24日下午初步设计界面及代码设计12月25日上午代码设计及查阅参考资料12月25日下午代码设计12月26日上午完成课程设计报告2.2设计要求(多道、单处理机):1)每一个进程有一个PCB,其IA)容可以根裾具体情况设定。2)可以在界而设定的互斥资源(

5、包括两种:输入设备与输出设备)的数目3)进程数、进入内存时间、要求服务时间可以在界面上进行设定4)进程之间存在一定的同步与互斥关系,可以通过界面进行设定,其表示方法如下:进程的服务时间由三段组成:I2C1005(表示进程的服务吋间由2个吋间片的输入,10个时间片的计算,5个时间片的输出)进程间的同步关系用一个段表示:W2,表示该进程先要等待P2进程执行结束后才可以运行因此,进程间的同步与互斥关系、服务时间可以统一川叫段表示为:T2C1005W25)可以在运行中显示各进程的状态:就绪、阻塞、执行6)采用可视

6、化界而,可在进程调度过程中随时暂停凋度,查看当前进程的状态以及相应的阻塞队列7)具有一定的数据容错性//进程控制块//进程号"状态//到达时间//输入时间//剩余计算时间2.算法及数据结构3.1算法的总体思想检查输入、运行、完成情况删除相应进程用p->state标记个进程运行的状态3.2进程控制块3.2.1功能进程的结构体声明与函数的声明3.2.2数据结构typedefstructPCB{CStringid;CStringstate;intatime;intintime;intctime;intotime

7、;//输出时间intfinitime;//完成吋间intstime;//开始运行时间intcomtime;//计算时间CStringsamepace;structPCB*next;}PCB;队列类内的一些主要成员和成员函数:classCLinkqueue{//删除进程//将队列加入进程//得到高响应比较高的进程//判断队列是否为空voidDeleteP(PCB*p);voidEnQueue(PCB*p);PCB*FrontPointer();//voidCLinkqueue::GetHRN();intQu

8、eueEmpty()const;voidEnQueue(CStringid,intloadtime,intintime,intctime,intotime,CStringsamepace,CStringstate);//进程控制信息加入队列PCB*GetFrontPointer()const;PCB*CheckId(CStringid);intGetquequeLength()const;//得到队头结点//查找进程号为ID的

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

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

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