小花带你一周hold住人人学IOT(五) 操作系统,轻量开源

举报
花溪 发表于 2021/04/23 10:52:16 2021/04/23
【摘要】 物联网这项基于通讯感知技术,拥有无限开发潜能的互联网创新应用,已经掀起了世界信息产业发展的第三次浪潮。并将引发生产和生活方式巨大变革,那么通信感知技术何以成就了如此强大的物联网,小花将通过这次人人学IoT系列课程,逐渐为您揭晓。

小花带你一周hold住人人学IOT(一)初识物联网
花带你一周hold住人人学IOT(二)IoT平台,能力开放
小花带你一周hold住人人学IOT(三)窄带无线,海量物联
小花带你一周hold住人人学IOT(四) 物联网关,汇聚回传
小花带你一周hold住人人学IOT(五) 操作系统,轻量开源

今天我们开始人人学IoT第五课的学习,下面先看一下今天要带大家学习那些内容。
image.png
1.物联网操作系统——Huawei LiteOS


操作系统,轻量开源
物联网操作系统——Huawei LiteOS

操作系统的三个阶段

1.PC时代-苹果微软
2.互联网时代-微软
3.移动互联网时代-手机ios 安卓
-物联网操作时代
物联网操作系统:Huawei LiteOS
碎片化、芯片、传感器、通信协议、应用场景碎片化——导致技术方案不统一、体系结构不一致,阻碍了物联网的发展,也局限了互联互通的范围。
对于物联网的终端开发者而言,他们需要懂硬件,基于硬件去开发,同时开发者需要自行选择对接适配,以及对物联网通信协议众多通信模块更新换代较快的挑战。

操作系统是物联网中一个十分关键的环节

操作系统可以支持不通的硬件、通信标准、应用场景
image.png
而操作系统开源,有利于
-打破技术障碍和壁垒
-提高操作性和可移植性
-减少开发成本
-同时也适合开源社区的开发人员参与进来
-开源的特性更加助推了物联网的开放和发展

同样操作系统在物联网领域也面临不少挑战

-多传感器协同管理复杂
-视频场景下性能、功耗要求高
-开发语言编程效率低,上手难度大等
物联网处处是挑战。

Huawei LiteOS

LiteOS以轻量级、低功耗、快速启动等特性为基础
image.png
LiteOS适用于个人、家庭、行业等多种应用场景,并已应用在我们生活中
-华为B3手环
-华为Mate系列手机中协处理器
-LiteOS接管手机的加速传感器及其他传感器管理,可以降低手机在黑屏下的功耗
-LiteOS还应用在华为的物联网解决方案中,智能家居、智能停车、智能水表、智能照明解决方案

2.一个内核很重要——LiteOS Kernel


Huawei LiteOS操作系统的基础架构是一个1+N的架构,其中1指一个内核,n指N个中间件。这n个中间件包含了LiteOS的互联框架、传感框架、安全框架、运行引擎
image.png

LiteOS基础内核是最精简的LiteOS操作系统

包括任务管理、内存管理、中断管理、队列管理、事件管理、通信机制、时间管理、定时器等操作系统基础组件
image.png

任务管理

-任务是竞争系统资源的最小运行单元
-任务可以使用或等待cpu使用内存空间等系统资源
-并独立于其他任务运行
image.png
-嵌入式基本都是单进程多线程
什么是进程?什么是线程?
image.png
我们说的任务就是线程
-任务是抢占式调度机制
-支持时间片轮转调度机制
HUAWEI LiteOS的任务模块提供任务的创建、删除、延迟、挂起、恢复等功能以及锁定和解锁任务调度(任务调度可以锁定和解锁)
image.png

内存管理模块管理系统的内存资源

-它是操作系统的核心模块之一
-内存在物理上就是一段连续的地址
-如果没有操作系统,应用开发者需要自己去分配内存,会存在较为严重的内存碎片化问题
-Huawei LiteOS的内存管理提供静态内存和动态内存两种算法,支持内存申请、释放

动态内存是动态内存池中分配用户指定大小的内存块

优点“按需分配”
缺点“内存池中会出现碎片”
算法“动态申请DLINK算法和Best Little算法”

静态内存是静态内存池中分配用户初始化时预设大小的内存卡

优点“分配和释放效率高 静态内存池中无碎片”
缺点“不能按需申请”
算法“固定大小的BOX算法”

中断管理:中断创建、开/关中断 恢复中断、中断使能、中断屏蔽、中断删除

-指出现需要时,cpu暂停执行当前程序转而执行新程序的过程
image.png
image.png

队列管理:创建 删除 发送 接收

-队列又称消息队列
-是一种常用于任务间通信的数据结构
-实现了接收来自任务或中断的不固定长度的消息
-并根据不同的接口选择传递消息是否存放在自己空间
-消息队列可以先入先出或先入后出
-可以在任务间通信

事件管理

-可以在IPC通信inter-process communication的是事件
-事件就是简单的事件触发
image.png

通信机制

-信号量是一种实现任务间通信的机制
-实现任务之间同步或临界资源的互斥访问
-常用于协助一组相互竞争的任务来访问临界资源
-信号量表示还有多少任务可以做该共享资源的访问
-与信号量一样用于任务同步的还有互斥锁
-互斥锁可以理解为是特殊的信号量作两个以上任务对有限的共享资源做访问时保护、防止冲突
-互斥锁表示任务是否可以做该共享资源的访问
image.png

image.png
image.png

时间管理 感知时间管理时间

MCU时钟源-系统主频
image.png

image.png

-时间片调度
每个任务对cpu可以做最小分片-cpu时间分片调度 单位tick
image.png

image.png

3.N个框架知多少——LiteOS Framework


Huawei LiteOS在基础内核之上还有各种框架丰富操作系统的功能,那么今天我们就来了解Huawei LiteOS“1+N”框架中的N个框架。
image.png
操作系统,轻量开源-N个框架知多少——LiteOS Framework
image.png
首先,我们要了解什么是互联框架
互联框架主要解决不同协议终端的互联互通,互联网框架能够提供完整的协议栈,降低开发门槛,实现互联,并且提供了可灵活配置的应用Profile,实现不通设备的互通
image.png
另外LiteOS提供了AgentTiny,AgentTiny是一个轻量级互联互通中间件,部署在对功耗、存储、计算资源有苛刻限制的终端设备上,开发者只需要调用几个简单的API接口,便可实现设备快速接入到华为IoT云平台以及数据上报和命令接收等功能。
image.png
同时互联网框架能够优化Mesh自组网能力,满足海量终端组网,例如在华为路灯照明解决方案中,LiteOS运行在路灯控制器的MCU中,通过互联框架可以使得Mesh网络具备快速治愈、高可靠性、支持1000+节点,组网时间小于20分钟的特点
image.png
互联网框架解决了不通协议终端的互联互通,而另外一个框架传感框架则提供了多种传感器的统一管理,传感框架能够提供统一的驱动接口,抽象不同类型传感器接口,屏蔽硬件细节,实现即插即用,另外还提供统一的传感器交互管理与传感算法库,提供一些基础算法,融合数据,方便开发者直接调用。
image.png
对于终端来说,安全同样至关重要。Huawei LiteOS提供了安全框架,安全框架可以分为端云安全、传输安全和终端安全。
image.png
端云安全注意涉及云端的认证鉴权,云端会设置白名单,进行双向设备认证,双向设备认证在我们日常生活中应用广泛。
image.png
期典型的应用案例就是银行网银的证书,当我们在PC机上进行网银支付的时候,需要先安装银行网银或者U盾的证书,完成双向认证才能够支付。
image.png
传输安全包含了数据链路安全、网络层安全、路由层RPL安全以及DTLS。其中DTLS是数据报安全传输协议,其提供了UDP传输场景下的安全解决方案,能防止消息被窃听,篡改、身份冒充等问题。
image.png
终端安全里通常包含API的认证,对于调用API接口的任务程序与应用需要通过认证,同时终端安全里划分了一个安全区域,包含白名单、用于端云安全的双向设备认证、设备管理的安全固件与升级、安全启动、安全ID、密钥管理、安全存储等。
image.png
安全存储是在芯片内部划分了一部分存储空间,这部分空间不会让外部线程访问到
image.png
像生活中常见的指纹识别、安全支付都用到了安全存储
image.png
最后我们了解下运行引擎与JavaScript框架,运行引擎提供了高性能、轻量级JavaScript虚拟机与面向物联网的应用开发框架,使轻量级物联网设备能在JavaScript框架下进行开发。
image.png
JavaScript虚拟机是针对资源高度受限的设备设计和优化,与OS,应用框架协同优化来提高性能。
JavaScript框架可以简化跨硬件平台和中间件的系统集成、用高级语言抽象来隐藏部分编程细节、并且兼容大量已有的第三方库来丰富平台功能,另外虚拟机提供了基于语言的安全性
image.png
Huawei LiteOS在“1+N”框架基础上,还提供了开放的API接口,开放的API屏蔽底层差异,让应用开发者只需关注上层应用开发,并且友好的接口设计使得已熟悉在Linux系统上开发应用的开发者,能够非常平滑的切换到Huawei LiteOS系统上开发,同时由于Huawei LiteOS系统的精简内核特性,使得开发者更容易理解内核。
好了,到这里第五课操作系统,轻量开源就学完了,相信通过今天的学习,大家对物联网已经有进一步的了解了。下面跟我来做一下练习,检验一下自己的学习成果哦。

判断题

1.中断是指出现需要时,CPU暂停执行当前程序,转而执行新程序的过程。正确
2.Huawei LiteOS的API能够屏蔽底层差异,同时兼容Linux,使得开发者更易上手开发。错误

单选题

1.下列选项中,对于Huawei LiteOS内存管理描述错误的是?D

A.LiteOS支持动态内存管理,在内存池中分配用户指定大小的内存块
B.动态内存管理优点是按需分配,支持DLINK算法
C.LiteOS支持静态内存管理,在内存池中分配初始化时预设大小的内存块
D.静态内存管理优点是分配和释放效率高并且能按需申请,支持BOX算法  静态内存是静态内存池中分配用户初始化时预设大小的内存卡

2.下列选项中,关于Huawei LiteOS时间管理描述正确的是? C

A.通过LiteOS内核的时间管理模块,系统能够知道相对时间与绝对时间
B.通过MCU的时钟源,系统能够知道相对时间与绝对时间
C.每个任务可以对CPU做最小分片,即CPU时间分片调度 
D.任务延迟的时间参数是tick,每个tick默认时间是1ms

3.下列选项中,不属于Huawei LiteOS传感框架提供的功能是? A

A.统一的传感器程序代码 
B.统一的驱动接口
C.统一的传感器交互管理
D.统一的传感器算法库

4.下列选项中,不属于Huawei LiteOS安全框架提供的终端安全的是? D

A.安全存储
B.密钥管理
C.Safe ID
D.DTLS 

多选题

1.下列选项中,Huawei LiteOS在哪些解决方案中应用?ABCD

A.智能家居解决方案
B.智能水表解决方案
C.智能停车解决方案
D.智能照明解决方案

2.Huawei LiteOS内核的任务模块提供哪些功能?ABD

A.任务创建
B.任务删除
C.任务修改
D.任务延迟

3.消息队列是一种数据结构,能够接收以下选项中哪些不固定长度的消息?AD

A.任务
B.内存
C.信号量
D.中断

4.Huawei LiteOS的互联框架能够提供哪些完整的协议栈?BC

A.AMQP
B.CoAP
C.TCP/IP
D.HTTPS

本系列《人人学IoT》课程到此就告一段落了。祝愿大家早日通过华为物联网认证HCNA-IoT

本次的课程是我们华为云物联网开发者学习路径的入门课程人人学IoT
image.png

本课程从物联网的背景知识引入,通过物联网概述到“云-管-端“的课程体系,涵盖华为物联网认证60%的知识点,带大家从华为物联网入门到精通。

对物联网感兴趣的小伙伴可以参加我们华为云学院物联网开发者学习路径,进行更深一步的学习哦
物联网开发者学习路径
image.png

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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