《操作系统》处理机调度与调度算法

2.2.1处理机调度概念、层次

在这里插入图片描述

当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则决定处理这些任务顺序,这就是’调度’研究的问题。在多道程序系统中,进程的数量往往是多余处理机的个数的,这样不可能同时并行地处理各个进程。处理机调度,就是从就绪队列中按照一定的算法选择一个进程并处理机分配给它运行,以实现进程的并发执行。

1. 调度的三个层次

高级调度

在这里插入图片描述

中级调度

在这里插入图片描述

低级调度

在这里插入图片描述

2. 三层调度的联系、对比

在这里插入图片描述

2.2.2进程调度的时机切换与过程调度方式

1. 进程调度时机

在这里插入图片描述

2. 进程调度的方式

在这里插入图片描述

3. 进程的切换与进程

在这里插入图片描述

2.2.3调度算法评价指标

1. CPU利用率

CPU '忙碌’的时间占总时间的比例
在这里插入图片描述

在这里插入图片描述

2.系统吞吐量

单位时间内完成作业的数量
在这里插入图片描述

在这里插入图片描述

3.周转时间

周转时间与平均周转时间

对于用户来说,比较关心自己的作业从提交到完成花了多少时间。周转时间,是指作业被提交给系统开始,到作业完成为止的这段时间间隔
在这里插入图片描述

平均周转时间
在这里插入图片描述

带权周转时间与平均带权周转时间

带权周转时间
在这里插入图片描述

平均带权周转时间
在这里插入图片描述

4.等待时间

指进程/作业处于等待处理机状态之和,等待时间越长,用户满意度越低

  • 对于进程来说,等待时间就是指进程建立之后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。
  • 对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在后备队列中等待的时间
    在这里插入图片描述

5. 响应时间

指从用户提交请求首次产生响应所用的时间。

2.2.4 调度算法

在这里插入图片描述

1. 先来先服务(FCFS)

顾名思义,先来就cpu先给他服务,就看到达时间列队列。

在这里插入图片描述
在这里插入图片描述

2. 最短作业优先

短进程优先调度算法(SPF)

非抢占式的短作业优先调度算法,先判断作业是否到达,多个作业到达看谁的运行时间短,短优先。

0时刻只有P1到达,所以当然先执行P1,等到P1运行结束时间为7,这个时候P2、P3、P4全部到达,所以按运行时间排序,短的优先
在这里插入图片描述

最短剩余时间优先算法(SRTN)

抢占式的短作业优先调度算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 最高响应比优先(HRRN)

基于前两者算法的改进,即考虑到各个作业的等待时间,也兼顾运行时间。

在这里插入图片描述
在这里插入图片描述

4. 时间片轮转(RR)

时间片,每个进程运行相同的时间,时间片结束交出cpu权力,重新去排队。注意时间片设计的时间要合理,时间片太长会导致算法退化为先来先服务算法,太短会导致进程频繁切换

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 优先级调度

非抢占式的优先级调度算法

进程到达之后单纯看优先级,优先级高的先服务。
在这里插入图片描述

抢占式的优先级调度算法

进程到达之后看优先级,而且当前在服务的进程也要进行比较,如果当前在服务的进程优先级小,那它要放弃处理机去排队,跟非抢占式不同,非抢占式优先级比较不带在服务的进程,

在这里插入图片描述
在这里插入图片描述

6. 多级反馈队列

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51233575/article/details/124183532
今日推荐