码迷,mamicode.com
首页 > 编程语言 > 详细

FreeRTOS 学习笔记 5 —— 调度算法.简述

时间:2015-08-04 15:46:24      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:freertos

优先级抢占式调度:

1. 每个任务都赋予了一个优先级。

2. 每个任务都可以存在于一个或多个状态。

3. 在任何时候都只有一个任务可以处于运行状态。

4. 调度器总是在所有处于就绪态的任务中选择具有最高优先级的任务来执行。

这种类型的调度方案被称为”固定优先级抢占式调度”。所谓”固定优先级”是指每个任务都被赋予了一个优先级,这个优先级不能被内核本身改变(只能被任务修改)。”抢占式”是指当任务进入就绪态或是优先级被改变时,如果处于运行态的任务优先级更低,则该任务总是抢占当前运行的任务。


单调速率调度(Rate Monotonic Scheduling, RMS)是一种常用的优先级分配技术。其根据任务周期性执行的速率来分配一个唯一的优先级。具有最高周期执行频率的任务赋予高最优先级;具有最低周期执行频率的任务赋予最低优先级。这种优先级分配方式被证明了可以最大化整个应用程序的可调度性(schedulability),但是运行时间不定以及并非所有任务都具有周期性,会使得对这种方式的全面计算变得相当复杂。


协作式调度:reeRTOS 可以选择采用协作式调度。采用一个纯粹的协作式调度器,只可能在运行态任务进入阻塞态或是运行态任务显式调用taskYIELD()时,才会进行上下文切换。任务永远不会被抢占,而具有相同优先级的任务也不会自动共享处理器时间。协作式调度的这作工作方式虽然比较简单,但可能会导致系统响应不够快。


优先级抢占式调度实现了实时响应,对一些实时性要求高的任务应设置为高优先级,或者把执行频率高的设置为高优先级

版权声明:本文为博主原创文章,未经博主允许不得转载。

FreeRTOS 学习笔记 5 —— 调度算法.简述

标签:freertos

原文地址:http://blog.csdn.net/haozi0_0/article/details/47276399

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!