liteos kernel任务管理

举报
惘纬 发表于 2020/04/30 10:20:57 2020/04/30
【摘要】 liteos 任务管理

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


  1. 任务管理


基本概念

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>中。详情参考该头文件。

    


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。