博客
关于我
华为LiteOS、谷歌Brillo等都与实时嵌入式无关
阅读量:330 次
发布时间:2019-03-04

本文共 1214 字,大约阅读时间需要 4 分钟。

华为LiteOS作为一款嵌入式操作系统,在低功耗与实时性之间的平衡上引发了诸多讨论。本文将从调度机制、功耗优化以及与其他操作系统的对比三个方面,探讨LiteOS在嵌入式领域的定位与局限。

LiteOS采用集中式任务调度机制,通过统一管理所有任务,避免了调度过程中额外启动时间的浪费。这种机制在理论上具有优势,但在实践中也暴露出明显缺陷——完全缺乏实时性。对于需要快速响应和严格时间约束的嵌入式应用,这种调度方式往往难以满足需求。

值得注意的是,华为LiteOS并非传统意义上的高级操作系统。其主要应用场景在于安卓系统的底层支持,类似于一款优化的安全OS。例如,华为Mate7搭载的LiteOS并非普通的操作系统,而是专门为安全数据处理设计的轻量级系统。这种定位使得LiteOS在资源占用和运行效率上展现出独特优势。

在操作系统的内核结构上,LiteOS采用基于优先级的抢占式调度机制,支持时间片分配,这是IOT实时操作系统的基本要求。与传统的桌面操作系统形成鲜明对比,LiteOS的设计理念与FreeRTOS等嵌入式操作系统更为接近。

对于Cortex-M系列处理器,LiteOS提供了一套完整的支持。然而,这种支持与ARM官方生态系统并无本质区别,只是实现层面的细节不同。与FreeRTOS、mbed等成熟的嵌入式操作系统相比,LiteOS在代码风格和功能扩展上存在一定差距。

在资源占用方面,LiteOS展现出较高的效率。其镜像文件极小,适合运行在存储资源有限的设备上。但这也意味着LiteOS在某些高级功能上的不足。例如,内存保护单元(MMU)和虚拟地址转换等特性在LiteOS中虽然实现,但对系统的实时性产生了影响。

相比之下,FreeRTOS等操作系统在实时性和资源占用上表现更为理想。对于Cortex-M系列芯片,FreeRTOS提供了更成熟的支持,同时兼顾了低功耗和高效率。这种对比使得LiteOS在嵌入式市场中的定位显得相对单一。

对于IOT操作系统的未来发展,真正的嵌入式应用依然是支撑Cortex-M系列处理器的关键。无论是FreeRTOS还是mbed等操作系统,都在这一领域展现出强大的实力。这些操作系统不仅支持丰富的接口,如WiFi、蓝牙、Zigbee等,还能处理复杂的传感器数据和网络通信任务。

总体而言,嵌入式操作系统的选择应基于具体的应用需求。对于需要高实时性和严格资源控制的场景,FreeRTOS等操作系统更为理想。而对于简单的设备控制任务,甚至无操作系统的前后台程序也能满足需求。真正的嵌入式应用,往往依赖于轻量化、高效率的操作系统,如FreeRTOS或mbed,这些系统能够在Cortex-M系列处理器上实现高效的运行,支持复杂的IOT场景。

在IOT领域,操作系统的选择仍然是一个值得深入探讨的话题。无论是LiteOS还是其他操作系统,其最终目标都在于为嵌入式设备提供稳定、高效的运行环境。

转载地址:http://fpkh.baihongyu.com/

你可能感兴趣的文章
sql查询中 查询字段数据类型 int 与 String 出现问题
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
查看>>
SQL-CLR 类型映射 (LINQ to SQL)
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>