回复
梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记
wx62f3c4995348b
发布于 2022-8-10 22:58
浏览
0收藏
3.1任务管理
任务基本概念
任务是竞争系统资源最小的单位
多个任务可以同时进行,并实现任务之间的切换和通信
LiteOS采用的是抢占式调度机制,高优先级任务可打断低优先级任务,当任务优先级相同时,先创建的任务先运行
同时具备时间片轮转功能
LiteOS的任务默认为32个优先级,从高优先级到低优先级为0-31
任务状态
就绪(Ready)
运行(Running)
阻塞(Blocked)
退出态(Dead)
任务状态迁移
API任务接口(code)
3.2软件定时器
概念
基于系统Tick时钟中断且由软件来模拟的定时器,当经过Tick时钟所设定的数值后会触发回调函数
功能
遵循队列规则(先进先出)
基本即使单位
Tick
API软件定时器接口(code)
3.3信号量
概念
信号量是一种实现任务间通信的机制,实现任务之间同步或临界资源的互斥访问
系统进行多任务时,信号量可以协助各任务之间的同步或互斥实现临界资源的保护
信号量数值
对应有效资源数,表示剩下可被占用的互斥资源数
0
没有Post任务积累,且有可能有任务在此信号量上阻塞
正值
有一个或多个Post任务积累
信号量用作互斥
记数是满的,以将信号量取空,是其他任务阻塞来保护临界资源
信号量用作同步
记数是空的,任务1取信号量阻塞,任务2运行时释放信号量,将阻塞的任务1变为运行状态,实现两个任务同步
运行原理
信号量初始化
信号量创建
信号量申请
信号量释放
信号量删除
信号量运行
API信号量接口(code)
分类
标签
已于2022-8-10 23:15:45修改
赞
收藏
回复
相关推荐