CPU 调度算法
关键字: cpu 调度 算法 操作系统
两种进程调度算法:1)优先数调度;2)循环轮转调度
①本程序用两种算法对五个进程进行调度,每个进程可有三个状态,并假
设初始状态为就绪状态。
②为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程
的优先数或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。
③在优先数算法中,优先数可以先取值为 98,进程每执行一次,优先数减
3,CPU 时间片数加 1,进程还需要的时间片数减 1。在轮转算法中,采用固定
时间片(即:每执行一次进程,该进程的执行时间片数为已执行了 2 个单位),
这时,CPU 时间片数加 2,进程还需要的时间片数减 2,并排列到就绪队列的尾
上。
④对于遇到优先数一致的情况,采用 FIFO 策略解决。
#include<stdio.h>
#include <dos.h>
#include<stdlib.h>
#include<conio.h>
#include<iostream.h>
#define P_NUM 5
#define P_TIME 50
enum state{
ready,
execute,
block,
finish