ucos学习4
来源:互联网 发布:女包淘宝网 编辑:程序博客网 时间:2024/04/30 02:08
2.4
任务就绪表及人物调度
2.4.1
任务就绪表的结构
任务就绪表是任务调度的依据
任务就绪表:系统的每一个任务在表内都有一个位置,在这个位置上用1或0来表示该任务是否处于就绪状态
Ucosii上用数组OSRdyTbl[]来充当任务就绪表,最多可以记录32个就绪状态,1表示就绪,0表示非就绪。
2.4.3
任务的调度
中止当前任务而去运行另一个任务称为任务切换,而按某种规则进行切换称为任务的调度。
任务调度器的工作:(1)查找任务就绪表中具有最高优先级的就绪任务(2)实现任务的切换
Ucosii的调度器有两种:任务级的调度器和中断级的调度器
任务切换的步骤
(1)获得待运行就绪任务控制块的指针
(2)进行断点数据的切换
2任务切换宏OS_TASK_SW()
任务切换宏切换任务步骤
(1)把被终止任务的任务指针保存在任务堆栈
(2)把cpu通用寄存器的内容保存到任务堆栈
(3)把被终止任务的任务指针的当前值保存到该任务的任务控制块中
(4)获得待运行的任务的任务控制块
(5)是cpu通过任务控制块获得任务堆栈指针
(6)把待运行任务的任务堆栈中通用寄存器的数据恢复到cpu的通用寄存器中
(7)使cpu获得待运行任务的断点指针
任务就绪表:系统的每一个任务在表内都有一个位置,在这个位置上用1或0来表示该任务是否处于就绪状态
Ucosii上用数组OSRdyTbl[]来充当任务就绪表,最多可以记录32个就绪状态,1表示就绪,0表示非就绪。
2.4.3
任务的调度
中止当前任务而去运行另一个任务称为任务切换,而按某种规则进行切换称为任务的调度。
任务调度器的工作:(1)查找任务就绪表中具有最高优先级的就绪任务(2)实现任务的切换
Ucosii的调度器有两种:任务级的调度器和中断级的调度器
任务切换的步骤
(1)获得待运行就绪任务控制块的指针
(2)进行断点数据的切换
2任务切换宏OS_TASK_SW()
任务切换宏切换任务步骤
(1)把被终止任务的任务指针保存在任务堆栈
(2)把cpu通用寄存器的内容保存到任务堆栈
(3)把被终止任务的任务指针的当前值保存到该任务的任务控制块中
(4)获得待运行的任务的任务控制块
(5)是cpu通过任务控制块获得任务堆栈指针
(6)把待运行任务的任务堆栈中通用寄存器的数据恢复到cpu的通用寄存器中
(7)使cpu获得待运行任务的断点指针
- ucos学习4
- ucos 学习
- UCOS学习
- ucos学习
- ucos ii学习笔记4 软件定时器
- ucOS学习笔记(4)——一步一步移植ucOS到STM32
- uCOS-II信号量学习
- 开始学习uCOS-II
- uCOS-II信号量学习
- ucos学习简要总结
- ucOS学习--基础知识
- ucOS学习--重点知识
- ucos学习小计
- ucos 学习之二
- ucos系统学习汇总
- ucos基础学习
- stm32-ucos学习笔记
- uCOS-III学习笔记
- 给Java程序猿们推荐一些值得一看的好书
- 尚硅谷java学习笔记——1.java语言概述
- PAT (Advanced Level) Practise 1119Pre- and Post-order Traversals (30)
- 阻塞 非阻塞与同步 异步
- 【poj1962】 Corporative Network
- ucos学习4
- Java中构造器内部的多态方法的行为
- Content Provider
- 练习:超链接的单选效果 表格隔行变色
- 知识库构建-Knowledge Base
- Tkinter基础
- 使用codelite搭建stm32开发环境
- 【备份专题】备份软件方案可靠性解析
- 用C语言实现判断PC大小端