1 / 18
文档名称:

多级反馈队列调度.doc

格式:doc   大小:123KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

多级反馈队列调度.doc

上传人:mkjafow 2020/9/4 文件大小:123 KB

下载得到文件列表

多级反馈队列调度.doc

文档介绍

文档介绍:[操作系统]多级反馈队列的调度实验目标理解有关进程控制块,进程队列的概念。掌握进程多级反馈队列的调度的处理逻辑。设计进程控制块PCB的结构,分别适用于多级反馈队列的调度。建立进程就绪队列。编制多级反馈队列的调度算法。实验要求用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。设计思路多级反馈队列多级反馈队列原理多级反馈队列调度算法又称反馈循环队列或多队列策略,主要思想是将就绪进程分为两级或多级,系统相应建立两个或多个就绪进程队列,较高优先级的队列一般分配给较短的时间片。处理器调度先从高级就绪进程队列中选取可占有处理器的进程,只有在选不到时,才从较低级的就绪进程队列中选取。具体描叙如下:①OS设置有多个就绪队列(用qReadyi,i=1,2,...,n表示),用于存放等待处理的进程,每个队列的优先权(priority)各不相同,从第一个到最后一个依次降低;②各个队列中进程执行的时间片大小各不相同,优先级越高的队列时间片越小,各个队列的时间片可按下面的规定:每一个队列时间片都比前一个队列时间片长1倍;③当一个进程进入内存后,先放入第一队列qReady1末尾,按先来先响应的原则排队等待处理。该进程执行时若在规定的时间片内完成,则处理完毕,可撤离系统,若第一个时间片结束时尚未完成,则该进程转入第二队列qReady2的末尾排队等待处理,依次下去,直至转到最后一个队列中。④仅当第i个队列qReadyi为空,才能调度第i+1队列qReady(i+1)中的进程运行。如果第qReadyi队列中某进程正在执行,又有新进程进入第qReady1至qReady(i-1)中任何队列,则此时正在运行的进程放回第i队列末尾,运行新进程。●每个进程在输入时,需描述下面的特征:进程名(可用字符串或用整数简单表示)到达时间(可用整数表示,以时间片为单位)所需执行时间(整数,以时间片为单位)低级就绪队列高级就绪队列中级就绪队列等待磁盘磁带等待其他外设运行选中,时间片500ms超过时间片启动磁盘磁带启动其他外设选中,时间片200ms选中,时间片100ms多级反馈队列调度算法需求分析多级反馈队列调度算法是一种性能较好的作业低级调度策略,能够满足各类用户的需要。对于分时交互型短作业,系统通常可在第一队列(高优先级队列)规定的时间片内让其完成工作,使终端型用户都感到满意;对短的批处理作业,通常,只需在第一或第一、第二队列(中优先级队列)中各执行一个时间片就能完成工作,周转时间仍然很短;对长的批处理作业,它将依次在第一、第二、……,各个队列中获得时间片并运行,决不会出现得不到处理的情况。此系统模拟了多级反馈队列调度算法及其实现,包含了一下几个功能模块:(注:此系统中无法实现线程的功能,只能用人为的方式实现对多级反馈队列调度算法的模拟!)创建进程该模块实现对进程任务的创建,要求用户在创建进程时输入进程名,所需运行时间,任务的到达时间(时间片)则由系统自动赋值,即任务一被创建后立刻进入qReady1中,则该任务的到达时间(时间片)为qReady1就绪队列的时间片。该模块由涉及的算法有:StatuscreatPro(LinkQueue&quePro);运行进程该模块首先判断运行队列中是否有任务在执行,如果处理器处于空闲状态,则按照多级反馈队列调度算法的原理依次从第一、第二……第i个就绪队列中选中一个进程任务进入运行队列。当处理器执行任务时间片到或者在规定的时间片内任务已完成,则把任务从处理器撤消或者让任务进入低优先级就绪队列中去,从新调度高优先级就绪队列中的任务进入运行队列,直到所有的就绪队列空了为止,或者处理器响应其他请求。该模块由涉及的算法有:voidrun();voiddealTime();voidrunPro(void);阻塞进程处理器在执行任务的过程中,出现等待使用资源或某事件的发生,如等待外设传输、等待人工干预等,则系统把运行队列中正在执行的任务撤消,让任务进入等待队列。该模块由涉及的算法有:voidwait();voidwake();唤醒进程任务进入等待队列后,当资源得到满足或某事件已经发生,如外设传输结束、人工干预完成时,处理器将等待队列中对应的任务重新调度到就绪队列中,等待处理器执行该任务。该模块由涉及的算法有:voidwake();撤消进程处理器在执行运行队列中的任务时,该模块模拟人工干预或其他中断导致任务提前退出系统的功能。多级反馈队列调度算法主要数据结构#include<>#include<>#include<>#include<>#include<>#include<>#include<>#include<>#inc