实验三 单处理器系统的进程调度
(模拟算法)
1.实验目的
加深对进程概念的理解,明确进程和程序的区别;
深入了解系统如何组织进程、创建进程;
进一步认识如何实现处理器调度。
2.实验预备知识
进程的概念;
进程的组织方式;
进程的创建;
进程的调度。
3.实验内容
编写程序完成单处理机系统中的进程调度,要求采用时间片轮转调度算法。实验具体
包括:首先确定进程控制块的内容,进程控制块的组成方式;然后完成进程创建原语和进
程调度原语;最后编写主函数对所作工作进程测试。
4.提示与讲解
这个实验主要要考虑三个问题:如何组织进程、如何创建进程和如何实现处理器调度。
考虑如何组织进程,首先就要设定进程控制块的内容。进程控制块 PCB 记录各个进程执行
时的情况。不同的操作系统,进程控制块记录的信息内容不一样。操作系统功能越强,软
件也越庞大,进程控制块记录的内容也就越多。这里的实验只使用了必不可少的信息。一
般操作系统中,无论进程控制块中信息量多少,信息都可以大致分为以下四类:
① 标识信息
每个进程都要有一个惟一的标识符,用来标识进程的存在和区别于其他进程。这个标
识符是必不可少的,可以用符号或编号实现,它必须是操作系统分配的。在后面给出的参
考程序中,采用编号方式,也就是为每个进程依次分配一个不相同的正整数。
② 说明信息
用于记录进程的基本情况,例如进程的状态、等待原因、进程程序存放位置、进程数
据存放位置等等。实验中,因为进程没有数据和程序,仅使用进程控制块模拟进程,所以
这部分内容仅包括进程状态。
③ 现场信息
现场信息记录各个寄存器的内容。当进程由于某种原因让出处理器时,需要将现场信
息记录在进程控制块中,当进行进程调度时,从选中进程的进程控制块中读取现场信息进
行现场恢复。现场信息就是处理器的相关寄存器内容,包括通用寄存器、程序计数器和程
序状态字寄存器等。在实验中,可选取几个寄存器作为代表。用大写的全局变量
AX、BX、CX、DX 模拟通用寄存器、大写的全局变量 PC 模拟程序计数器、大写的全局变
量 PSW 模拟程序状态字寄存器。
④ 管理信息
管理信息记录进程管理和调度的信息。例如进程优先数、进程队列指针等。实验中,
仅包括队列指针。
因此可将进程控制块结构定义如下:
struct pcb
评论0
最新资源