开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情 操作系统
接上......
SJF算法(短作业优先)
可用于作业调度和进程调度,对预计执行作业,短的作业优先分配处理机,通常后来的短作业不抢占正在执行的作业
优点:
1,比FCFS改善平均周转时间和平均带权周转时间,缩短作业的等待时间。
2,提高系统的吞吐量。
缺点:
1,对长作业非常不利,可能长时间得不到执行,发生饥饿现象。
2,未能依据作业的紧迫程度,来划分执行的优先级。
3,难以准确估计作业(进程)的执行时间,从而影响调度性能。
优先级调度算法和高响应比优先调度算法
本算法可适用于作业调度和进程调度,给每个作业设置一个优先级,然后选择优先级最高的那些作业调入内存,SJF就是一个优先级算法,每个进程的优先级是他的CPU时间(时间越短,优先级越高)
优先级类型
静态优先级方式
是指在创建进程时确定进程优先级,并保持不变到进程结束。
·确定优先级的依据:
-进程类型(系统进程优先级高于用户进程,交互式进程高于批处理进程);
-对系统资源的需求(对CPU和内存需求较少的进程,优先级较高);
-用户要求(用户级别和付费情况)。
静态方式的缺点: 高优先级的进程一直占用CPU,低优先级的进程“饥饿”。
动态优先级方式
是指在创建进程时赋予给进程的优先级,在进程运行过程中可以动态改变,以便获得更好的调度性能。 为防“饥饿”,根据运行时间和等待时间调整优先级
-进程每执行一个时间片就降低其优先级。当一个进程持续执行时,其优先级降低到让出CPU;
-在就绪队列中,等待时间延长则优先级提高,从而使优先级较低的进程在等待足够的时间后,其优先级提高到可被调度执行。
未完待续......