1 / 9
文档名称:

进程调度 操作系统 实验报告.doc

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

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

分享

预览

进程调度 操作系统 实验报告.doc

上传人:63229029 2017/1/12 文件大小:114 KB

下载得到文件列表

进程调度 操作系统 实验报告.doc

文档介绍

文档介绍:电子信息工程学系实验报告课程名称:操作系统实验项目名称:进程调度实验时间: 2014/3/22 班级: 姓名: 学号: 一、实验目的: 用高级语言编写和调试一个有 N 个进程并行的进程调度程序,以加深对进程的概念及进程调度算法的理解。二、实验环境: PC 机、 windows2000 操作系统、 VC++ 三、实验要求实验前应复****实验中所涉及的理论知识和算法, 针对实验要求完成基本代码编写、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。实验后认真书写符合规范格式的实验报告,按时上交。四、实验内容及过程: 设计一个有 N 个进程并行的进程调度程序。进程调度算法: 采用最高优先数优先的调度算法( 即把处理机分配给优先数最高的进程) 和先来先服务算法。具体描述如下: 每个进程有一个进程控制块( PCB ) 表示。进程控制块可以包含如下信息: 进程名、优先数、到达时间、需要运行时间、已用 CPU 时间、进程状态等等。分析: 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生) 。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W( Wait ) 、运行 R( Run ) 、或完成 F( Finish )三种状态之一。就绪进程获得 CPU 后都只能运行一个时间片。用已占用 CPU 时间加 1 来表示。如果运行一个时间片后, 进程的已占用 CPU 时间已达到所需要的运行时间, 则撤消该进程, 如果运行一个时间片后进程的已占用 CPU 时间还未达所需要的运行时间, 也就是进程还需要继续运行, 此时应将进程的优先数减 1 (即降低一级) ,然后按照优先数的大小把它插入就绪队列等待 CPU 。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB ,以便进行检查。重复以上过程,直到所要进程都完成为止。调度算法的参考流程图如下: 成绩: 指导教师(签名): 五、实验步骤 1 .编写一个有 N 个进程并行的进程调度程序(程序详见附录)。 2 .在上机环境中输入程序,调试,编译。 3 .设计输入数据,写出程序的执行结果。 4 .根据具体实验要求,填写好实验报告。六、实验结果及分析: 1 、分析: 初始化队列。输入进程数为 3 个进程,各个进程的进程名、优先级、需要时间片设置分别如下: Process Name Process Priorty Process Running Time aa22 12 根据最高优先数优先的调度算法,我们可以得出理论结果如下: 进程aa 的优先数和bb 一样都为2, 根据先来先服务原则,进程aa 优先插入队列, 此时队列排序为 aa> 。就绪进程获得 CPU 后都只能运行一个时间片。 1 )执行第 1 个时间片时,进程 aa 得到 CPU ,进程状态为 R, bb、 cc 则状态为 W 。当一个时间片结束,进程 aa 的优先数减 1 ,变为 1 ,按照优先数的大小把它插入就绪队列等待 CPU 。此时队列排序为>aa 。 2 )执行第 2 个时间片时,进程 bb 得到 CPU ,进程状态为 R, cc、 aa 则状态为 W 。当一个时间片结束,进程 bb 的已占用 CPU 时间已达到所需要的运行时间,撤