ucosIII任务管理(未完持续)
来源:互联网 发布:linux qt5 usb热插拔 编辑:程序博客网 时间:2024/05/18 18:04
概述要点
- 单CPU 中,在任何时刻只能是一个任务被执行
- C/OS-III 支持多任务且对任务数量没有限制,任务数仅取决于处理器内存的大小(RAM)。
- 允许任务具有相同的优先级
任务的组成
- 任务堆栈:上下文切换用于保存任务当前环境。也就是内部寄存器的值。
- 任务控制块:保存任务的各个属性
- 任务函数:完成指定功能
系统任务:
- 空闲任务:UCOSIII创建的第一个任务,UCOSIII必须创建的任务,此任务有UCOSIII自动创建,不需要用户手动创建。
- 时钟节拍任务:此任务也是必须创建的任务。
- 统计任务:可选任务,用来统计CPU使用率和各个任务的堆栈使用量。此任务是可选任务,由宏OS_CFG_STAT_TASK_EN控制是否使用此任务。
- 定时任务:用来向用户提供定时服务,也是可选任务,由宏OS_CFG_TMR_EN控制是否使用此任务。
- 中断服务管理任务:可选任务,由宏OS_CFG_ISR_POST_DEFERRED_EN控制是否使用此任务。
任务状态
- 休眠态(Dormant):任务已经在CPU的flash中了,但是还不受UCOSIII管理。
- 就绪态(Ready):系统为任务分配了任务控制块,并且任务已经在就绪表中登记,这时这个任务就具有了运行的条件,此时任务的状态就是就绪态。
- 运行态(Running):任务获得CPU的使用权,正在运行,单CPU任何时刻只有一个任务在运行。
- 挂起态(Pending):正在运行的任务需要等待一段时间,或者等待某个事件,这个任务就进入了挂起态,此时系统就会把CPU使用权转交给别的任务。
- 中断服务态(Interrupted):当发送中断,当前正在运行的任务会被挂起,CPU转而去执行中断服务函数,此时任务的任务状态叫做中断服务态。
状态转换如下图
0 0
- ucosIII任务管理(未完持续)
- UCOSIII任务管理(待更)
- UCOSIII-任务管理(上)
- UCOSIII 任务管理(中)
- UCOSIII 任务管理(下)
- 2.uCOSIII任务管理
- UCOSIII任务管理
- UCOSIII任务管理
- UCOSIII系统内部任务(待更)
- UCOSIII存储管理(待更)
- ucosIII 任务同步(信号量、任务信号量、事件标记组)
- ucosIII 任务同步(信号量、任务信号量、事件标记组)
- ucosIII 任务同步(信号量、任务信号量、事件标记组)
- ucosIII 系统任务
- UCOSIII 系统内部任务
- UCOSIII-任务就绪表
- ucosIII(1)---任务调度
- 3.uCOSIII中断管理
- canny边缘检测不连续问题
- LeetCode 494:Target Sum
- canvas快照抓取
- 【OpenCV学习笔记】二十八、轮廓特征属性及应用(五)——最小外接矩形
- React-Native 之 项目实战(三)
- ucosIII任务管理(未完持续)
- Android WebView属性使用详解
- java-springmvc4+freemarker-实现layout布局页
- 最长公共子序列问题-动态规划
- Redhat:HugePage
- 《勿忘初心,放得始终》
- 缓存淘汰算法--LRU算法
- android开发遇到make is not found in path 或者是报加载不到so库的错误
- 划分数(3题)