处理机调度的详细介绍


当前第2页 返回上一页

进程切换

  1. 若一个时间片尚未用完, 正在运行的进程便已完成, 则立即激活调度程序, 将其从执行队列中删除, 在调度就绪队列的队首进程运行, 并启动一个新的时间片.

  2. 在一个时间片用完时, 计时中断处理程序被激活, 如果进程尚未运行完毕, 则调度程序将它送往就绪队列末尾, 并调度就绪队列的队首进程运行, 并启动新时间片.

注意:时间片选取过小, 则将频繁的执行进程调度和进程长下文切换, 增加系统开销; 时间片选取过长, 则RR算法退化为FCFS算法, 无法满足短作业和交互式用户需求. 时间片应选取略大于依次典型的交互所需要的时间, 是大多数进程在一个时间片内完成.

多级反馈队列调度算法(multileved feedback queue):

  1. 设置多个就绪队列, 并为每个队列赋予不同的优先级, 优先级越高的队列其时间片越小.优先级最高的队列最先进入待调度的队列

  2. 队列之间采用FCFS调度算法.只有高优先级队列中的全部进程完成时才调度下一队列

  3. 队列内的进程按照轮转算法调度.新进程进入内存后首先进入优先级最高的队列

  4. 在低优先级队列运行时, 若有新进程到达, 那么在运行完这个时间片后,CPU马上分配给新到达的作业(抢占式)。

实时系统中的进程调度算法

实时系统是指系统能及时响应外部事件的请求并及时处理这些请求.基于这一特性, 实时系统在工业(武器)控制, 多媒体等系统中常见.
实时系统中通分为存在一个截止时间, 硬实时任务(HRT)要求在开始截止时间前必须执行, 在结束截止时间前必须结束. 软实时任务同上, 但并不严格.
在实时系统中有两类算法值得注意:最早截止时间优先算法(Earliest Deadline First)和最低松弛度优先算法(Least Laxity First).两类算法都可用抢占式和非抢占式调度, 但后者常用于抢占式调度.
在m个周期性的实时调度中, 每个实时任务的处理时间\(C_i\), 周期时间\(P_i\), 在但处理机的情况下, 需满足条件:$\sum_{i=1}^m\frac{C_i}{P_i} \(小于1; 多处理机条件下, 须满足条件\)\sum_{i=1}^m\frac{C_i}{P_i} $小于N, N为处理机数量.

最早截止时间优先算法(EDF)

该算法在实时系统中根据任务的截止时间确定其优先级.

  1. 非抢占式

  2. 抢占式

最低松弛度优先算法(LLF)

在该法中根据任务的紧急程度(松弛程度)赋予其优先级, 越紧急的任务优先级越高.

任务的松弛程度 = 必须完成时间 - 其本身运行时间 - 当前时间

系统的任务按照松弛度排成一个就绪队列, 松弛度低的任务排在队列前面, 即调度程序优先执行.

以上就是处理机调度的详细介绍的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

ubuntu开发环境的安装及系统介绍

linux操作系统原理基础

虚拟机安装linux操作系统

linux操作系统好学吗

linux操作系统安全加固的实例教程

虚拟机vmware上安装centos操作系统实例详解

怎么下载linux操作系统

操作系统技巧总结

处理机调度的详细介绍

虚拟机vmware上安装centos操作系统实例详解

更多相关阅读请进入《操作系统》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...