uC/OS—lI的任务调度原理

来源:互联网 发布:英语泛读教程网络课程 编辑:程序博客网 时间:2024/05/16 14:16

参考文献《嵌入式实时系统I-IC/OS—lI的任务调度原理》 崔志明,崔志能

写的很明白。下面是简单的总结。

一个任务,也称做一个线程,是一个简单的程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。
一般来说。任务通常是一个无限的循环。uC/OS—II的任务拥有自己的代码和堆栈空
间(保存该任务的寄存器、返回地址和临时参数),一般都是空函数,不会返回任何值。任务执行一次后,设置延时参数OSTCBDly。表明在经过OSTCBDly个时钟周期后再次运行.然后任务进行切换.使其他任务运行。

uC/OS—II下的任务有五种状态:睡眠态、就绪态、运行态、等待状态、中断服务态。调度也就是决定该轮到哪个任务运行了,从而使一就绪的任务切换到运行态.这是内核的主要职责之一。uc/OS一Ⅱ是基于优先级调度算法的:也就是说,总是让处于就绪态、优先级最高的任务运行。uc/OS—II是通过查表法找到准备就绪的优先级最高的任务。

原创粉丝点击