《优先级调度算法实验报告.docx》由会员分享,可在线阅读,更多相关《优先级调度算法实验报告.docx(1页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、优先级调度算法实验报告实验目的:进程调度是处理机管理的核心内容。本实验要求用高级语言编写模拟进程调度程 序,以便加深理解有关进程控制快、进程队列等概念,并体会和了解优先级算法 的具体实施方法。实验内容:1 .设计进程控制块PCB的结构,通常应包括如下信息:进程名、进程优先数(或 轮转时间片数)、进程已占用的CPU时间、进程到完成还需要的时间、进程的 状态、当前队列指针等。2 .编写优先级调度算法程序3.按要求输出结果。实验要求每个进程可有三种状态;执行状态(RUN)、就绪状态(READY,包括等 待状态)和完成状态(FINISH),并假定初始状态为就绪状态。(一)进程控制块结构如下:NAME进
2、程标示符PRIO/ROUND进程优先数 NEEDTIME进程到完成还需要的时间片数STATE进程状态NEXT链指 针注:1 .为了便于处理,程序中进程的的运行时间以时间片为单位进行计算;.各进程的优先数或,以及进程运行时间片数的初值,均由用户在程序运行时给 定。(二)进程的就绪态和等待态均为链表结构,共有四个指针如下:RUN当前 运行进程指针READY就需队列头指针TAIL就需队列尾指针FINISH 完成队列头指针 实验结果: 实验总结:首先这次实验的难度不小,它必须在熟悉掌握数据结构的链表和队列的前提下才 能完成,这次实验中用了三个队列,就绪队列,执行队列和完成队列,就绪队列 中的优先级数是有序插入的,当进行进程调度的时候,需要先把就绪队列的队首 节点(优先级数最大的节点)移入执行队列中,当执行进程结束后,判断该进程 是否已经完成,如果已经完成那么移入完成队列,如果没有完成,重新有序插入就 绪队列中,这就是这次实验算法的思想。