二、操作系统导论——进程调度(知识点总结)

/ 操作系统导论 / 没有评论 / 576浏览

进程调度:介绍

1、两个指标:

2、先进先出(FIFO):

先进先出(First In First Out 或FIFO)调度,有时候也称为先到先服务(First Come First Served 或FCFS)。
护航效应(convoy effect):一些耗时较少的潜在资源消费者被排在重量级的资源消费者之后。

3、最短任务优先(SJF):

具体:先运行最短的任务,然后是次短的任务,如此下去。

4、最短完成时间优先(STCF):

具体:每当新工作进入系统时,它就会确定剩余工作和新工作中,谁的剩余时间最少,然后调度该工作。

5、轮转调度(RR):

具体:RR 在一个时间片(time slice,有时称为调度量子,scheduling quantum)内运行一个工作,然后切换到运行队列中的下一个任务,而不是运行一个任务直到结束。它反复执行,直到所有任务完成。因此,RR 有时被称为时间切片(time-slicing)。

关于时间片:

时间片长度必须是时钟中断周期的倍数。
时间片长度对于RR 是至关重要的。越短,RR 在响应时间上表现越好。
时间片太短是有问题的:突然上下文切换的成本将影响整体性能。

6、周期时间在STCF中表现良好,在RR中表现差。响应时间则相反。

调度:多级反馈队列(MLFQ)

1、多级反馈队列需要解决两方面的问题:

2、前提:

MLFQ 中有许多独立的队列(queue),每个队列有不同的优先级(priority level)。任何时刻,一个工作只能存在于一个队列中。MLFQ 总是优先执行较高优先级的工作(即在较高级队列中的工作)。

3、MLFQ 基本规则:

4、优化一:

5、优化二:

6、优化三:

调度:比例份额

1、基于一个简单的想法:调度程序的最终目标,是确保每个工作获得一定比例的CPU 时间,而不是优化周转时间和响应时间。
2、彩票调度:

基本概念:彩票数(ticket)代表了进程(或用户或其他)占 有某个资源的份额。一个进程拥有的彩票数占总彩票数的百分比,就是它占有资源的份额。

3、彩票调度的一些基本机制:

4、步长方式实现:

基本思路很简单:当需要进行调度时,选择目前拥有最小行程值的进程,并且在运行之后将该进程的行程值增加一个步长。