单处理机系统的进程调度

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单处理机系统的进程调度

编写程序完成单处理机系统中的进程调度,要求采用时间片轮转调度算法。实现具体包括:首先确定进程控制块的内容和组成方式;然后完成进程创建原语和进程调度原语;最后编写主函数,对所做工作进行测试。

这个实验主要有三个问题:如何组织进程、如何创建进程和如何实现处理机调度。

进程控制块结构定义如下:

struct pcb

{

int name; //进程标识符

int status; //进程状态

int ax,bx,cx,dx; //进程现场信息,通用寄存器内容

int pc; //进程现场信息,程序计数器内容

int psw; //进程现场信息,程序状态字寄存器内容

int next; //下一个进程控制块的位置

}

存放进程控制块的区域:

#define n 10 //假定系统允许进程个数为10

struct pcb pcbarea[n]; //模拟进程控制块区域的数组

实验中指向运行进程的进程控制块指针、就绪队列指针和空闲进程控制块队列指针定义如下:

int run; //定义指向正在运行进程的进程控制块的指针struct

{ int head;

int tail

}ready; //定义指向就绪队列的头指针head和尾指针tail int pfree; //定义指向空闲进程控制块队列的指针

相关文档
最新文档