zoukankan      html  css  js  c++  java
  • liteos简介(一)

    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共享目标文件的动态加载机制。

    分散加载

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

  • 相关阅读:
    单元测试
    Go 语言基础语法
    Go 切片
    Beego环境搭建和bee工具安装使用(绝对可成功)
    Go 语言安装以及BeeGo环境配置
    解决安装了Phpstudy和本地数据库冲突的问题
    Go语言入门学习指南
    day74:drf:drf其他功能:认证/权限/限流/过滤/排序/分页/异常处理&自动生成接口文档
    day73:drf:drf视图相关类&路由Routers&创建虚拟环境
    day72:drf:反序列化功能&模型类序列化器Modelserializer&drf视图APIView
  • 原文地址:https://www.cnblogs.com/linhaostudy/p/10681832.html
Copyright © 2011-2022 走看看