很多人會混淆鴻蒙跟 Linux 的關係。先舉個例子,大家很熟悉的 Windows 裡面含有內核,也含有 UI 系統,含有桌面程序,普通人可以直接使用 Windows。
但是 Linux 僅僅是一個內核(它提供進程管理、文件系統等概念),必須在 Linux 之上安裝各種 APP,普通人才可以使用。
基於 Linux 內核製作出來的完整系統有 Ubuntu、debian 等等,普通人可以直接使用這些完整系統。
所以鴻蒙要對標的是 Windows、安卓、iOS 這類完整系統,而 Linux 只是鴻蒙支持的內核之一。鴻蒙支持多種內核,有 Linux,也有 Liteos-a。
鴻蒙的體系很龐大,看下圖,內核只是其中之一:
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 上……
後臺回復「鴻蒙」可下載移植手冊!