梅科尔工作室-第四次内核开发

mmmaker
发布于 2022-7-25 14:47
浏览
0收藏

1.任务管理

任务管理简介:

1、从系统的角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。
2、LiteOS的任务模块可以给用户提供多个任务,实现了任务之间的切换和通信,帮助用户管理业务程序流程。这样用户可以将更多的精力投入到业务功能的实现中。
3、LiteOS中的任务是抢占式调度机制,高优先级的任务可打断低优先级任务,低优先级任务必须在高优先级任务阻塞或结束后才能得到调度,同时支持时间片轮转调度方式。
4、LiteOS的任务默认有32个优先级(O-31),最高优先级为0,最低优先级为31。

任务相关概念:

任务状态:

任务状态通常分为以下四种:
就绪(Ready):该任务在就绪列表中,只等待CPU.运行(Running):该任务正在执行。
阻塞(Blocked):该任务不在就绪列表中。包含任务被挂起、任务被延时、任务正在等待信号量、读写队列或者等待读写事件等。
退出态(Dead):该任务运行结束,等待系统回收资源。

任务的调度机制:

梅科尔工作室-第四次内核开发-鸿蒙开发者社区

2.软件计时器

软件定时器基本概念:

梅科尔工作室-第四次内核开发-鸿蒙开发者社区

软件定时器运作机制:

梅科尔工作室-第四次内核开发-鸿蒙开发者社区

3.信号量

基本概念:

梅科尔工作室-第四次内核开发-鸿蒙开发者社区

运作机制;

梅科尔工作室-第四次内核开发-鸿蒙开发者社区

4.事件管理

事件基本概念:

事件是一种实现任务间通信的机制,可用于实现任务间的同步,但事件通信只能是事件类型的通信,无数据传输。一个任务可以等待多个事件的发生:可以是任意一个事件发生时唤醒任务进行事件处理;也可以是几个事件都发生后才唤醒任务进行事件处理。事件集合用32位无符号整型变量来表示,每一位代表一个事件。
多任务环境下,任务之间往往需要同步操作。事件可以提供一对多、多对多的同步操作。一对多同步模型:一个任务等待多个事件的触发;多对多同步模型:多个任务等待多个事件的触发。
任务可以通过创建事件控制块来实现对事件的触发和等待操作。LiteOS的事件仅用于任务间的同步,

事件运作机制:

梅科尔工作室-第四次内核开发-鸿蒙开发者社区

5.互斥锁;

互斥锁基本概念:
梅科尔工作室-第四次内核开发-鸿蒙开发者社区
互斥锁运作机制:
梅科尔工作室-第四次内核开发-鸿蒙开发者社区

6.消息队列:

消息队列基本概念:

梅科尔工作室-第四次内核开发-鸿蒙开发者社区

消息队列运作机制:

梅科尔工作室-第四次内核开发-鸿蒙开发者社区

标签
收藏
回复
举报
回复
    相关推荐