liteos kernel任务管理

简介: liteos 任务管理liteos 的任务管理、信号量(互斥锁)、内存管理。

任务管理

基本概念

1、从系统的角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。

2、HuaweiLiteOS的任务模块可以给用户提供多个任务,实现了任务之间的切换和通信,帮助用户管理业务程序流程。

3、HuaweiLiteOS是一个支持多任务的操作系统。在HuaweiLiteOS中,一个任务表示一个线程。

4、HuaweiLiteOS中的任务是抢占式调度机制,同时支持时间片轮转调度方式。

5、高优先级的任务可打断低优先级任务,低优先级任务必须在高优先级任务阻塞或结束后才能得到调度。

6、HuaweiLiteOS的任务一共有32个优先级(0-31),最高优先级为0,最低优先级为31。

任务状态

任务状态通常分为以下四种:

就绪(Ready):该任务在就绪列表中,只等待CPU。

运行(Running):该任务正在执行。

阻塞(Blocked):该任务不在就绪列表中。包含任务被挂起、任务被延时、任务正在等待信号量、读写队列或者等待读写事件等。

退出态(Dead):该任务运行结束,等待系统回收资源。

为了让SDK能够更广泛的应用,所以提出了OSAL。

SDK内部集成的组件以及SDK本身使用的OS功能,都调用的是OSAL接口,因为SDK要运行起来,必须注册相关的OS进OSAL才行。

osal的api接口声明在<osal.h>中,使用相关的接口需要包含该头文件,关于函数的详细参数请参考该头文件的声明。

目前已经适配了LiteOS/LINUX/MACOS等,SDK可以在这些系统下运行。如果你需要在非上述系统下运行SDK,您需要将新系统适配进OSAL,保障SDK需要的OS功能正常。

适配OSAL您需要在您的系统初始化完毕之后,调用osal_install接口将您的系统注册进SDK即可。使用该接口需要包含<osal_imp.h>,相关的宏定义在<osal_type.h>中。详情参考该头文件。


相关文章
|
7月前
|
Linux 芯片
Linux内核学习(六):linux kernel的Kconfig分析
Linux内核学习(六):linux kernel的Kconfig分析
626 0
|
缓存 Linux 开发工具
Buildroot系列开发(六)linux kernel(下)
Buildroot系列开发(六)linux kernel
231 0
Buildroot系列开发(六)linux kernel(下)
|
Linux Shell 调度
嵌入式Linux内核kernel学习(基于I.m6ull)
嵌入式Linux内核kernel学习(基于I.m6ull)
265 0