梅科尔工作室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修改
收藏
回复
举报
回复
    相关推荐