一、实验目的
通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状
态和进程调度过程、调度算法的理解。
二、设备与环境
1. 硬件设备:PC 机一台
2. 软件环境:安装 Windows 操作系统或者 Linux 操作系统,并安装相关的程序
开发环境,如 C \C++\Java 等编程语言环境。
三、实验内容
1. 用 C 语言(或其它语言,如 Java)编程实现对 N 个进程采用某种进程调度算
法(如动态优先权调度算法、先来先服务算法、短进程优先算法、时间片轮转调度
算法)调度执行的模拟。
2. 每个用来标识进程的进程控制块 PCB 可用结构来描述,包括以下字段:
typedef struct node
{
char name[10]; //进程的名字
int round; //一次分配 CPU 的时间片
int cputime; //CPU 已执行时间
int needtime; //进程执行所需要的时间
char state; //进程的状态,W-就绪态,R-执行态,F-完成
态
int count; //记录进程执行的次数
struct node *next; //队列指针
}PCB;