操作系统课程设计报告
课程名称:进程调度
姓学班
名:刘成启号:20101221149级:计算机1008班
指导老师:袁宁
f设计一个有N个进程的进程调度程序。
一、实验目的通过一个简单的进程调度模拟程序的实现,加深对各种进程调度算法,进程切换的理解。二实验内容1、进程调度算法:采用动态最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)。2、每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名进程标示数ID111111111优先数PRIORITY优先数越大优先权越高ra
dom到达时间进程的到达时间为进程输入的时间。、进程还需要运行时间ALLTIME,进程运行完毕ALLTIME0,ra
dom33333333已用CPU时间CPUTIME、
22222222进程的阻塞时间STARTBLOCK表示当进程在运行STARTBLOCK个时间片后,进程将进入阻塞状态
进程的阻塞时间BLOCKTIME表示当进程阻塞BLOCKTIME个时间片后,进程将进入就绪状态
进程状态STATE每个进程的状态可以是就绪W(READY)、运行R(Ru
)阻塞BBLOCK、或完成F(Fi
ish)四种状态之一。队列指针NEXT用来将PCB排成队列。3、调度原则:进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。进程在就绪队列中待一个时间片,优先数加1每个进程的状态可以是就绪W(READY)、运行R(Ru
)阻塞BBLOCK、或完成F(Fi
ish)四种状态之一。就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减3,然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。三、程序及运行情况
ffff四、实验过程中出现的问题及解决方法首先要说,这三个程序我都费劲心思写了,除了第一个在阻塞队列与就绪队列的转换没实现之外,其他的两个程序都写出来了。所以请老师一定要考虑我的情况,我真的懂了,也看会了,以下是我自己写的越来越乱的代码证明。。。i
clude