韦东山鸿蒙开发教程01 - 鸿蒙介绍

2022-05-05 16:21:13 浏览数 (1)

1.1 鸿蒙不是Linux,也不是安卓

很多人会混淆鸿蒙跟Linux的关系。

先举个例子,大家很熟悉的Windows里面含有内核,也含有UI系统,含有桌面程序,普通人可以直接使用Windows。但是Linux仅仅是一个内核(它提供进程管理、文件系统等概念),必须在Linux之上安装各种APP,普通人才可以使用。基于Linux内核制作出来的完整系统有Ubuntu、debian等等,普通人可以直接使用这些完整系统。

所以鸿蒙要对标的是Windows、安卓、IOS这类完整系统,而Linux只是鸿蒙支持的内核之一。鸿蒙支持多种内核,有Linux,也有Liteos-a。

鸿蒙的体系很庞大,看下图,内核只是其中之一:

1.2 Liteos-a是什么

Liteos-a是一个内核(也常常被叫做操作系统,反正大家都把操作系统、内核混着说)。常见的内核有freeFTOS、rt-thread、UCOS,这些都属于实时操作系统(RTOS),Linux不是实时操作系统。

有了那么多操作系统,为什么还要开发Liteos-a呢

大多数的RTOS都是运行于MCU(单片机上),不支持MMU(内存管理单元),内核空间和APP空间不能隔离开,APP出错后整个系统就会崩溃;也不支持POSIX接口,这使得大量的开源软件无法直接在MCU上运行。

Linux的强大在于它支持的硬件非常多,但是它过于庞大,启动慢、耗电,这些缺点导致它不适合用在物联网领域。比如倒车摄像头,没人能忍受2秒钟后才看见图像:即使你能忍受,也很难把Linux优化到2秒内启动。

Liteos-a为物联网而生,支持MMU,支持内核/APP空间隔离、支持各个APP空间隔离,系统更健壮;支持POSIX接口,大量开源软件可以在Liteos-a上直接使用;启动快,省电。

Liteos-a是一个轻量级的内核,设计精巧。它要成功,就必须持更多芯片、更多外设,这也是我们把Liteos-a移植到非海思芯片,并录制教程的原因。

除了Liteos-a,还有一个Liteos-m,后者运行在没有MMU的芯片上,也就是运行在MCU上。

1.3 移植Liteos-a,需要哪些资料

需要一个虚拟机:使用VMware运行Ubuntu,用来编译Liteos-a,我们预先制作了Ubuntu映像文件,放在百度网盘中。

需要源码,从GIT上下载。

下一章讲解:资料下载及方法

0 人点赞