uC/OS-II中优先级机制分析
来源:互联网 发布:比较好玩的java游戏 编辑:程序博客网 时间:2024/06/03 14:36
在网上找到的~感觉总结的非常好~贴过来保存下~源地址:http://peacemind.blog.hexun.com/15156734_d.html
在uC/OS-II
uC/OS-II
这是一个双向线性链表结构,任务调度是从线性链表上的一个结点(
我们知道每个任务都有自己的优先级,不能和其他任务优先级相同。每个任务的就绪态标志都放入就绪表中的,就绪表中有两个变量OSRdyGrp
为确定下次该哪个优先级的任务运行了,内核调度器总是将OS_LOWEST_PRIO
当OSRdyTbl[0]
当OSRdyTbl[1]
当OSRdyTbl[2]
当OSRdyTbl[3]
当OSRdyTbl[4]
当OSRdyTbl[5]
当OSRdyTbl[6]
当OSRdyTbl[7]
下面的程序清单中代码用于将任务放入就绪表。Prio
/*
OSRdyGrp |= OSMapTbl[prio >> 3];
OSRdyTbl[prio >> 3] |= OSMapTbl[prio & 0x07];
任务优先级的低三位用于确定是在OSRdyTbl[prio >> 3]
如果一个任务被删除了,则用如下程序清单中的代码做求反处理。从就绪表中删除一个任务。
if ((OSRdyTbl[prio >> 3] &= ~OSMapTbl[prio & 0x07]) == 0)
OSRdyGrp &= ~OSMapTbl[prio >> 3];
以上代码将就绪任务表数组OSRdyTbl[]
y = OSUnMapTbl[OSRdyGrp];
x = OSUnMapTbl[OSRdyTbl[y]];
prio = (y << 3) + x;;
ptcb =OSTCBPrioTbl[prio]; /* Point to this task's OS_TCB */
- uC/OS-II中优先级机制分析
- uc/os-II优先级反转
- uC/OS-II 中的优先级翻转问题分析
- 关于uC/OS-II中优先级翻转问题
- 关于uC/OS-II中优先级翻转问题(转)
- 关于 uC/OS-II 中 优先级 翻转问题
- uC/OS-II任务调度中判断最高优先级
- uC/OS-II学习笔记——优先级反转与优先级继承机制
- uC/OS-II内核超时等待机制的分析
- uc/os-ii 实验3:优先级反转
- uC/OS-II源码分析
- uC/OS-II源码分析
- uC/OS-II源码分析
- uc/os-II源码分析
- uc/os-II 分析 (3)
- uc/os-II 分析(7)
- uC/OS-II任务机制理解
- uC/OS-II操作系统分析 (一)
- WebService的安全性讨论【身份识别】
- JSP自定义标签
- javascript 不确定的函数的执行
- leveldb源代码分析2 理论基础
- 自做网站 jquery 插件 使用 小结
- uC/OS-II中优先级机制分析
- XML文档的基本结构
- 飞机加油问题
- 搭建Android开发环境
- DTD规范XLM文档笔记
- mysql 创建数据库创建表
- java单例模式例子
- SVM 学习 之 松弛变量和惩罚因子
- XML的编程 (CRUD)