实验 2 进程状态转换及其 PCB 的变化1
目的自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的 PCB 内容 、组织的变化,理解进程与其 PCB 间的一一对应关系
内容及要求1)设计并实现一个模拟进程状态转换及其相应 PCB 内容、组织结构变化的程序
2)独立编写、调试程序
进程的数目、进程的状态模型(三状态、五状态、七状态或其它)以及 PCB 的组织形式可自行选择
3)合理设计与进程 PCB 相对应的数据结构
PCB 的内容要涵盖进程的基本信息、控制信息、资源需求及现场信息
4)设计出可视性较好的界面,应能反映出进程状态的变化引起的对应 PCB内容、组织结构的变化
5)代码书写要法律规范,要适当地加入注释
6)鼓舞在实验中加入新的观点或想法,并加以实现
7)仔细进行预习,完成预习报告
8)实验完成后,要仔细总结,完成实验报告
程序流程图进程的三种基本状态及其转换如下图所示
数据结构及说明在本实验中,主要的数据结构是 PCB 的数据结构,具体如下:struct process{ char name;//进程名称int needtime; //进程所需要的运行时间int priority;//进程的优先级};5
源程序#include#include#includestruct process{ char name;int needtime;int priority;};struct process readyQueue[5];struct process run;struct process blockedQueue[5];const struct process null={NULL,0,0};int readyQueueHead=0;int blockedQueueHead=0;int cpuState=0;