“最高优先数优先”调度算法的基本思想是把 CPU 分配给就绪队列中优先数最高
的进程。
(1). 静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。
(2). 动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可
以按一定规则修改优先数。例如:在进程获得一次 CPU 后就将其优先数减少
1,并且进程等待的时间超过某一时限(2 个时间片时间)时增加其优先数等。
代码:
!
"#$$定义进程控制块 %&'
"()!*+$$进程名
"+$$状态
""+$$优先级
,+$$运行所需时间
",+$$作业进度
"-+
."/0+
"%&'+
"$$建立对进程进行优先级排列顺序
#
%&'"0+
"/!+
"//112"""2""$$优先级最大者,插入队首
#
2-/"+
"/+
.
$$进程比较优先级,插入适当的位置中
#
"/"+
/"2-+
34/
#
2""2""$$若插入进程比当前进程优先数大,插入到当前进
程前面
#
2-/+