接上文,我们继续了解进程调度的内容
进程调度
根据规则来决定处理任务顺序。
进程在OS内核程序临界区中不能进行调度与切换。
临界资源:一个时间段内只允许一个进程使用的资源,各进程需要互斥的访问临界资源。
临界区:访问临界资源的代码。
内核程序临界区一般访问某种内核数据结构的。
进程调度的方式
-
非剥夺调度(非抢占方式)
-
只允许进程主动放弃处理机
-
实现简单,系统开销小但是无法及时处理紧急任务,适用于早期的批处理系统
-
-
剥夺调度方式(抢占方式)
-
可优先处理更紧急进程
-
可实现让个进程按时间片轮流执行的功能,适用于分时与实时操作系统
-
进程的切换与过程
狭义的进程调度:从就绪队列中选中一个要运行的进程
进程切换:一个进程让出处理机。
广义的进程调度包含了选择一个进程和进程切换两个步骤。
进程切换是有代价,过于频繁的进行进程调度与切换必然使整个系统效率降低。
调度算法的评价指标
CPU忙碌的时间占总时间的比例
系统吞吐量:单位时间内完成作业的数量
周转时间指从作业被提交给系统开始到作业完成为止的时间间隔。
对于实际运行时间相同的两个作业,周转时间短的带权周转时间更小,用户满意度更高。
等待时间:进程/作业处于等待处理机状态时间之和,等待时间越长用户满意度越低。
响应时间:从用户提交请求到首次产生响应所用的时间。
短作业优先
-
非抢占式调度算法:短进程优先调度(SRF)
-
抢占式调度算法:最短剩余时间优先调度(SRTN)
高响应比优先(HRRN)
时间片轮转(RR)
T = Nq
T : 系统响应时间
q : 时间片
N:就绪队列中进程数
影响因素:
-
系统的相应时间
-
就绪进程的数量
-
进程调度以及切换开销
-
CPU运行速度
优先级进程调度算法的类型:通常用一个整数表示优先级
-
非强占式优先级调度
-
强占式优先级调度
优先级的设计方法:
-
静态优先级
-
动态优先级
网友评论