LiteOS是在2015华为网络大会上华为发布的敏捷网络3.0中的一个轻量级的物联网操作系统,LiteOS体积只有10KB级。

在Hi3559A中,liteos是用于Cortex-A53,用于处理MPP 媒体业务逻辑的;

Huawei LiteOS基础内核是最精简的Huawei LiteOS操作系统代码,包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器、异常管理等操作系统基础组件,可以单独运行。

Huawei LiteOS Kernel 的优势

  • 高实时性,高稳定性。
  • 超小内核,基础内核体积可以裁剪至不到10K。
  • 低功耗。
  • 支持动态加载、分散加载。
  • 支持功能静态裁剪。

各模块简介

任务:

提供任务的创建、删除、延迟、挂起、恢复等功能,以及锁定和解锁任务调度。支持任务按优先级高低抢占调度及同优先级时间片轮转调度。

任务同步:

  • 信号量:支持信号量的创建、删除、申请和释放等功能。
  • 互斥锁:支持互斥锁的创建、删除、申请和释放等功能。

硬件相关:

  • 中断:提供中断的创建、删除、使能、禁止、请求位的清除等功能。
  • 定时器:提供定时器的创建、删除、启动、停止等功能。

IPC通信:

提供事件、消息队列功能。

  • 事件:支持读事件和写事件功能
  • 消息队列:支持消息队列的创建、删除、发送和接收功能

时间管理

  • 系统时间:系统时间是由定时器/计数器产生的输出脉冲触发中断而产生的。
  • Tick时间:Tick是操作系统调度的基本时间单位,对应的时长由系统主频及每秒的Tick数决定,由用户配置
  • 软件定时器:以Tick为单位的定时器功能,软件定时器的超时处理函数在系统创建的Tick软中断中被调用

内存管理

  • 提供静态内存和动态内存两种算法,支持内存申请、释放。目前支持的内存管理算法有固定大小的BOX算法、动态申请DLINK算法。
  • 提供内存统计、内存越界检测功能。

异常接管

异常接管是指在系统运行过程中发生异常后,跳转到异常处理信息的钩子函数,打印当前发生异常函数调用栈信息,或者保存当前系统状态的一系列动作。

Huawei LiteOS的异常接管,会在异常后打印发生异常的任务ID号、栈大小,以及LR、PC等寄存器信息;

动态加载

动态加载是一种软件加载链接技术,不对组成程序的目标文件进行一次性链接加载,等到程序要运行时才进行链接加载。

Huawei LiteOS提供支持OBJ目标文件和SO共享目标文件的动态加载机制。

分散加载

分散加载是通过重排镜像等手段,把关键业务优先加载,从而缩短启动时间。

liteos简介(一)的更多相关文章

  1. Huawei LiteOS简介

    Huawei LiteOS简介 Huawei LiteOS是华为面向物联网领域开发的一个基于实时内核的轻量级操作系统.本项目属于华为物联网操作系统Huawei LiteOS源码,现有基础内核支持任务管 ...

  2. nb-iot简介【转】

    转自:http://www.elecfans.com/tags/nb-iot/ 标签 > nb-iot nb-iot 关注 118人关注 提供NB-IoT技术特点,NB-IoT模块/芯片,NB- ...

  3. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  4. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  5. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  6. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  7. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  8. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  9. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

随机推荐

  1. 看一眼就学会的 HTML 小游戏搭建!

    本文作者:CODING 用户 - xfly 身边经常会有小伙伴问我有没有办法不买服务器也能上线自己的个人项目,比如不少同学都非常喜欢搭建一个属于自己的博客站点或者小游戏等. 目前相对比较简便的且不花自 ...

  2. 基于geoserver样式服务实现图层要素自定义配图

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 在一般项目中,我们将geoserver样式服务中的SLD各参 ...

  3. Flutter的初体验--初次配置的问题

    首先参照官方文档进行搭建Mac下的环境 ,然后就会遇到以下问题:   1.在下载了Flutter 之后,执行Flutter doctor之后,报错: Could not resolve URL &qu ...

  4. Project file is incomplete. Expected imports are missing 错误解决方案

    当你打开一个.net core的项目,Visual Studio 可能无法打开,提示如下错误: D:\workshop\Github\Ocelot\src\Ocelot\Ocelot.csproj : ...

  5. Fusion Log

    What is Fusion Log? Also known as the Fusion Log or Assembly Binding Log Viewer. This tool is instal ...

  6. [Inside HotSpot] Visual Studio2017编译调试openjdk12

    编译 下载并编译好freetype,然后安装cygwin并安装必要工具: autoconf make zip unzip 当前目录效果为: 然后cygwin打开,进入openjdk12目录输入命令进行 ...

  7. 跟我一起学opencv 第三课之图像在opencv中的表示-Mat对象

    1.下面第一章图是一位美女图像,和其他数据一样图像在计算机中也是以二进制存储,下面第二张图 2.在摄像头眼里一幅图像就是一个矩阵或者说是二维数组,数组元素是像素值 3.opencv中以Mat对象表示图 ...

  8. IDEA指定.class文件输出位置

    1.File > Project Structure > Project > Project compiler output  项目中的默认编译输出总目录 2.我习惯于把.class ...

  9. 【工利其器】必会工具之(一)Source Insight篇

    前言         “Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“文无第一,武无第二”,所以不敢说SI是最好的,但是 ...

  10. OA发展史:由点到生态

    在当今无边界组织的商业背景下,企业与员工关系已经转化为联盟关系,以往通过工作场所.劳动合同等约束的形式已经逐步弱化,管理行为空前复杂,OA正是将一个个散点整合起来的看不见的手.那么,推动OA发展的核心 ...