概述
5.1物联网操作系统–HuaweiLiteOS
大纲
操作系统经历的三个时代:PC时代,互联网时代,移动互联网时代
1,PC时代:微软和苹果
2,互联网时代:始于20世纪90年代,微软的Windows操作系统一统江湖。
3,移动互联网时代:苹果的iOS和谷歌的安卓操作系统。
物联网时代对操作系统的挑战
芯片,通信协议,应用场景碎片化;
导致技术方案不统一;
体系结构不一致.
物联网操作系统开源:
打破技术障碍和壁垒;
减小开发成本;
提高操作性和可移植性;
适合开源社区的开发人员参与;
助推物联网的开放和发展。
操作系统在物联网领域的挑战
多传感器协同管理复杂;
视频场景下性能,功耗要求高;
开发语言编程效率低,上手难度大等。
华为物联网操作系统LiteOS
以轻量级低功耗快速启动等特性为基础,适合个人,企业,家庭等多个场景。应用有:B3手环,mate手机,智能家居,智能停车,智能水表,智慧照明等
5.2 LiteOS Kernel
操作系统架构:
基础内核:
任务是竞争系统资源的最小运行单元,其可使用或等待CPU等系统资源,并独立于其他任务运行。
嵌入式基本都是单进程多线程
在电脑上打开一个软件就是打开了一个进程。在一个软件里操作多个功能比如聊天软件里与多个人聊天就是线程。
任务—>线程
抢占式调度机制
时间片轮转调度机制
任务管理模块:创建,删除,延迟,挂起,恢复,锁定和解锁任务调度等。
内存管理模块:核心模块之一,提供动态和静态内存两种算法,支持申请和释放。
动态内存:在动态内存池中分配用户指定大小的内存块,优点是按需分配,缺点是会出现碎片。动态申请DLINK算法和Best Little算法
静态内存:在静态内存池中分配用户初始化时预设大小的内存块,优点是分配和释放效率高,无碎片,缺点是不能按需申请。固定大小的BOX算法。
中断管理:暂停当前程序,启动新程序的过程。中断创建,中断删除,中断屏蔽,中断使能,恢复中断,开/关中断等。
队列管理:又称消息队列,一种任务间通信的数据结构,接收来自任务或中断的不固定长度消息。消息队列可以先入先出或先入后出两种模式。支持创建,删除,发送,接受等功能。
事件管理:可以在IPC通信的是事件(Inter-Process Communication),事件就是简单的事件触发。
通信机制:信号量是一种实现任务间通信的机制。实现任务间同步或临界资源的互斥访问。常用于协助一组相互竞争的任务来访问临界资源。互斥锁可以理解为特殊的信号量。
信号量和互斥锁区别:
信号量:协调任务同时访问共享资源,提供协商作用。
互斥锁:共享资源只能被一个任务访问时,起到保护,防止冲突的作用。资源占用,可挂互斥锁,表明无法接受任务。
时间管理:在MCU里有个时钟源,对应系统主频。MCU可以通过时钟源知道相对时间(系统时间)。另外还有个时间用于时间分配调度,其参数单位是tick.每个tick可以调度任务一次。1tick=10ms.
操作系统功能总结
低功耗小内核
基础内核体积可以裁剪至不到10KB
具备高实时性与高稳定性
支持动态加载与分散加载
支持功能静态裁剪
5.3 N个内核框架
互联框架 安全框架 传感框架 运行引擎
互联框架 解决不同协议终端的互联互通,提供完整的协议栈,降低开发门槛,实现互联,且提供可灵活配置的应用Profile实现不同设备互通。提供AgenTiny,一个轻量级的互联互通中间件。部署在对功耗存储计算资源有苛刻限制的终端设备上。互联框架能优化Mesh自组网能力,满足海量终端组网。
传感框架 提供了多传感器的统一管理。统一的驱动接口来抽象不同传感器接口,屏蔽硬件细节,实现即插即用。统一传感器交互管理,统一传感算法库(指纹算法,运动算法,心率算法,环境感测算法等)。
安全框架 包括端云安全,传输安全,终端安全。
DTLS–Dategram Transport Level Security 数据报安全传输协议
提供了UDP传输场景下的安全解决方案,能防止消息被窃听,篡改,身份冒充等问题。
安全存储是在芯片内部划分了一部分存储空间,其不让外部线程访问。应用有指纹识别,安全支付等。
运行引擎 提供了高性能,轻量级JavaScript虚拟机,面向物联网的应用开发框架。JavaScript虚拟机是针对资源高度受限的设备设计和优化,与应用框架和OS协同优化来提高性能。
JavaScript框架特点
简化系统集成
隐藏部分编程细节
兼容第三方库
丰富平台功能
基于语言的安全性
LiteOS在一加N基础上提供了开放的API接口,其可屏蔽底层差异,用户可以从Linux平滑过渡到LiteOS系统,让应用开发者只关注应用开发。
最后
以上就是温婉时光为你收集整理的华为云学院-人人学loT学习笔记- 第五章 操作系统 轻量开源的全部内容,希望文章能够帮你解决华为云学院-人人学loT学习笔记- 第五章 操作系统 轻量开源所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复