进程调度
实验目的
1.理解有关进程控制块、进程队列的概念。
2.掌握进程优先权调度算法和时间片轮转调度算法的处理逻辑。
实验内容
1.设计进程控制块 PCB 的结构,分别适用于优先权调度算法和时间片轮转调度
算法。
2.建立进程就绪队列。
3.编制两种进程调度算法:优先权调度和时间片轮转调度。
实验准备
1.优先权调度算法
(1)非抢占式优先权调度算法
(2)抢占式优先权调度算法
对于优先权调度算法,其关键在于是采用静态优先权,还是动态优先权,以
及如何确定进程的优先权。
(1)静态优先权
(2)动态优先权
2.时间片轮转调度算法
程序示例
1.本程序用两种算法对 5 个进程进行调度,每个进程可有 3 种状态,并假设初始
状态为就绪状态。
2.为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的优先
数或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。
3.在优先权调度算法中,优先数可以先取值为 50,进程每执行一次,优先数减
3,CPU 时间片数加 1,进程还需要的时间片数减 1。
在时间片轮转调度算法中,采用固定时间片(即:每执行一次进程,该进程的执
行时间片数为已执行了 2 个单位),这时,CPU 时间片数加 2,进程还需要的时
间片数减 2,并将该进程排列到就绪队列的末尾。
4.对于遇到优先数一致的情况,采用 FIFO 策略解决。