+ -
当前位置:首页 → 问答吧 → 进程管理

进程管理

时间:2011-11-28

来源:互联网

例题: 设计一个有 N个进程共行的进程调度程序。
1、进程调度算法:采用动态最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)。 
2、每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:
进程名---进程标示数 ID
优先数 PRIORITY 优先数越大优先权越高
到达时间---进程的到达时间为进程输入的时间。、
进程还需要运行时间ALLTIME,进程运行完毕ALLTIME=0,
已用CPU时间----CPUTIME、
进程的阻塞时间STARTBLOCK-表示当进程在运行STARTBLOCK个时间片后,进程将进入阻塞状态
进程的阻塞时间BLOCKTIME--表示当进程阻塞BLOCKTIME个时间片后,进程将进入就绪状态
进程状态—STATE
队列指针NEXT 用来将PCB排成队列。 
3、调度原则:
进程的优先数及需要的运行时间可以事先人为地指定。进程的到达时间为进程输入的时间。 
进程的运行时间以时间片为单位进行计算。 
进程在就绪队列中带一个时间片,优先数加1
  每个进程的状态可以是就绪 R(READY)、运行R(Run)阻塞B(BLOCK)、或完成F(Finish)四种状态之一。 
  就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。 
  如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减3,然后把它插入就绪队列等待CPU。 
  每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。    
重复以上过程,直到所要进程都完成为止。

作者: liujianzhueric0535   发布时间: 2011-11-28

你的代码呢?

作者: jixingzhong   发布时间: 2011-11-28

作业题吧

将PCB数据结构设计出来, 然后就对里面的数据做变化, 然后就按照调度算法 计算里面的值就行了。

作者: macrojj   发布时间: 2011-11-28