當前位置:首頁 » 操作系統 » liteos源碼

liteos源碼

發布時間: 2023-02-04 11:45:23

A. 「生萬物」的鴻蒙來了!華為布局AIoT最重要的版圖

《莊子·逍遙游》中有這樣的描述:「北冥有魚,其名為鯤。鯤之大,不知其幾千里也。化而為鳥,其名為鵬。鵬之背,不知其幾千里也;怒而飛,其翼若垂天之雲。「古人常用鯤鵬之志形容志向遠大。


鴻蒙系統正式面世

6月2日晚8點,備受關注的華為鴻蒙操作系統正式面向消費者發布,它將正式搭載到手機、平板電腦,甚至豆漿機、烤箱等家電設備上。


華為鴻蒙操作系統的橫空出世,是具有里程碑意義重大的「世紀之戰」,華為鴻蒙挑戰的是手機操作系統谷歌安卓、蘋果IOS,以及電腦操作系統windows和開源linux操作系統、蘋果MAC OS操作系統。

據悉,目前的操作系統市場,安卓占據了全球市場份額的68.63%,蘋果占據了30.99%。華為鴻蒙操作系統的出現,有可能打破這兩家獨大的狀況。

到底什麼是鴻蒙系統?

發布會上,華為消費者業務軟體部總裁王成錄用一句話概括了鴻蒙操作系統(以下簡稱「鴻蒙」)給當前的手機系統帶來的變化:

「在智能手機的時代,讓消費者有機會根據自己的需要來組裝軟體(指APP)。那麼,鴻蒙相對於今天的操作系統,又有一個飛躍,讓消費者可以根據自己的需要來組裝不同的硬體。」

按照華為的規劃,今年底搭載鴻蒙OS的終端設備將超過3億台,其中1億台為第三方合作夥伴的終端設備。

華為輪值CEO徐直軍表示,目前鴻蒙操作系統生態已經發展了1000多個智能硬體合作夥伴,50多個模組和晶元解決方案合作夥伴,包括家居、出行、教育、辦公、運動 健康 、政企、影音 娛樂 等多個領域的合作夥伴。

實際上,鴻蒙操作系統打通了消費互聯網和產業互聯網。

鴻蒙賦能各大場景萬物互聯

據徐直軍介紹,華為鴻蒙操作系統在2021年的舉措主要包括:鴻蒙官網、論壇、社區、公眾號等全面上線;源代碼全面開源,覆蓋手機、平板、車機、智慧屏及各類IoT設備;開放鴻蒙培訓平台,標准課程,構建統一的人才認證體系,推動鴻蒙技術能力走進校園等。

2020年中國智能家居市場規模將突破2400億,2020年全球智能家居市場平均滲透率將超過60%。未來三年將是智能家居行業快速發展期。相比開發周期較長的家電行業,鴻蒙OS 對於產業賦能效果顯著。

通過物聯網技術,家中的智能化的家用電器可以緊密相連,通過智能運作便可以實現遠程式控制制。智能家居不僅具有傳統的居住功能,兼備建築、網路通信、信息家電、設備自動化,提供全方位的信息交互功能,甚至為各種能源費用節約資金。

這些智能化的設備、家用電器在鴻蒙系統發布後,將會進一步推進家居智能化的到來。家居智能化最重要的一環,就是互聯網技術與家用設備的結合。

隨著互聯網頭部企業的技術發展,大數據技術、雲計算技術人才的不斷增多,家居智能化取得了長足進步。鴻蒙問世將搭載大數據技術和發展的前沿應用趨勢,以小川匯集大海之勢,融合場景,連接設備,努力成為新一代操作系統的新貴。

如何實現更好的智能體驗?

在全場景智慧生活應用中設備聯結、控制復雜,體驗感分割等問題,面對如此龐大的終端設備群,鴻蒙系統該如何實現更好的智能體驗?

1、全系統覆蓋

鴻蒙系統使用分布式框架和原子化服務將各設備用軟匯流排聯結,達成全系統覆蓋,保證用戶有機會根據自身需求隨意組裝,實現模塊化定製加持。並且,硬體彈性大,從128k--4G以上,鴻蒙系統都可以使用。

2、多設備融合為「超級終端」

鴻蒙系統採用「軟時鍾同步」和「無限傳輸干擾」來解決音畫同步的技術難點。PC系統安裝鴻蒙分布式插件後,手機文件就相當於新盤符,便於PC端調用手機內容及材料。

使用超級終端統一入口來操控設備模組,提升設備間敏捷度,完成與手機聯結的所有第三方設備狀態的實時查看和操控。

另外,我國現階段家電設備自動化程度持續提高,但由於設備與設備間的碎片化分布使之無法充分發揮性能優勢。鴻蒙系統將打破消費者智能使用率不到5%的現狀,增強設備黏合度,打造全生態模式。

3、應用跨設備流轉

「萬能卡片」將成為鴻蒙生態設備之間統一交互的載體和語言,卡片到哪裡,服務轉到哪裡,真正打破應用間的硬體約束。所有鴻蒙設備間都將通過「萬能卡片」進行有效流轉,所有卡片信息全部顯示在服務中心用戶無需再次安裝,被分享手機無需事先安裝APP,便捷實現信息互聯。

華為業務軟體部總裁王成錄博士表示,鴻蒙OS就是要讓消費者在操控多種設備時像操控單設備一樣簡單。

能否「突圍」幾乎定局的市場份額?

此前,小米和Google都曾推送新操作系統。小米Vela主要布局在AIoT生態圈可穿戴設備及智能家居場景布局上,與鴻蒙系統全設備萬物互聯並不完全相同。但Google Fuchsia OS,同樣是囊括手機、PC在內的萬物互聯定位。在這樣的環境下,鴻蒙系統具備哪些逆風破局的優勢?

首先,鴻蒙系統開源的liteos內核已趨向穩定。liteos內核是由華為OS團隊專門維護其核心組件,包括ota、shell、fs、usip、oc、crc、cJSON等組件。這些組件可以為開發者提供簡單介面實現孔中升級、shell等功能,幫助開發者更輕松的開發物聯網設備。自2015年起,它就已廣泛應用到攝像頭、手機指紋感測器等設備中,未來將作為華為解決方案一起來開拓市場份額。

其次,華為海量終端用戶也將在鴻蒙系統萬物互聯中起到關鍵性作用。在發布會上,華為發布了watch3、HUAWEI MatePad Pro、HUAWEI MateView、HUAWEI FreeBuds4無線耳機等新品。並宣布自6月2日起,Mate30、40系列都會同步進行ota升級,nova6、7等老款機型也將在第三季度全面進行升級。由此可見,華為的硬體優勢都將為華為AIoT生態化建設提供關鍵性扶持作用。

鴻蒙OS,現階段只是生態建設的開始,下一步將需要硬體廠商、應用廠商、集成商的聯合支持。

總結:3億和16%的生死突圍

要把生態鏈發展到什麼程度,鴻蒙才算是存活了下來?

華為消費者業務AI與智慧全場景業務部副總裁楊海松給出了一個數字——16%。

「對於操作系統這類底層平台而言,軟體使用量、市場佔有率是它能否活下來、能否成功的核心因素,而16%的市佔率則是一個生死線。」楊海松說。

為了邁過這16%市佔率的生死線,華為在2021年的目標:搭載鴻蒙的設備數量需達到3億更顯得任重而道遠。

目前來看,暫無其他手機廠商伸出援手,生態鏈也尚未完善,鴻蒙恐怕還有很長一段道路需要走。

B. 鴻蒙系統好寫嗎為什麼

單從技術上講,開發一個單獨的操作系統內核並沒有想像中的那麼困難。網上搜一下 至少能找到幾十個甚至上百個OS內核實現,雖然絕大多數只是玩具級別的,但很多都是麻雀雖小,五臟俱全,基本的功能都有實現。

先說下自己的一些經歷吧。

我在幾年前曾經從零開始寫過一個簡單的操作系統內核,實現了基本的boot, 內存管理,進程管理,中斷管理,IPC,簡單的文件系統,簡單的磁碟驅動,鍵盤驅動,簡單的終端等基本功能,還實現了一個簡單的調試器,支持斷點等基本功能。當時對操作系統簡直達到了痴迷的程度,只要工作上的事情一做完就去看操作系統方面的書籍資料,晚上下班和周末更是幾乎宅在家裡不出門,真的可謂是廢寢忘食。

終於在參考了Linux, VxWorks還有國外一些大牛寫的OS內核之後,最後搞出來了一個玩具級的OS內核,前後大概持續了半年左右。當時也純粹是為了學習的目的,也是覺得比較好玩,基本功能實現後,就慢慢遺忘在在磁碟的角落裡積灰了。。。

所以,從技術上說,開發一個OS內核並沒有想像中的那麼困難,很多大公司其實技術上都完全有能力開發一個具備基本功能的OS內核。當然,功能完備性、安全性、性能等方面能不能搞好就另說了。

我現在所在的公司,就有完全自主開發的微內核OS,並且在公司上百萬台的電信級的分布式集群伺服器產品上已經穩定運行了二十多年。並且,還圍繞這個OS建立了一系列配套生態,比如基礎開發庫,一系列配套的開發調試工具,甚至還有專門為這個系統開發的編程語言和編譯器等。我曾經有幾年的主要工作,就是在維護這個OS內核。可惜的是,這幾年公司已經在慢慢用Linux替換這個OS了,估計幾年之後就要徹底退役了。

開發一個操作系統的真正難點在於創建圍繞在這個內核周邊的生態系統。一個單獨的內核遠遠不能構成一個完整的系統,它需要大量的支持環境,如系統支持庫,應用程序,開發調試工具等等,此外還要能夠推廣出去,要有其他上下游的公司願意使用,能夠被廣大開發者認可並願意為其開發新的應用等等,這才是真正的難點所在,是需要投入大量人力物力財力才有可能完成的。

很多公司也正是從技術積累上,時間上,成本上,風險上來考慮,不願意花大力氣在這上面。所以才有了如今Windows,Linux,Apple三分天下的局面。

咱們國家雖然急切渴望能有一個自研的OS,但現狀是,有實力的廠商更願意投資一些能看得到摸得著的實實在在的應用產品上,這樣來錢快,才能在最短的時間內看到收益回報,也就是更高的投入回報比。

對於像操作系統,編譯器之類的基礎軟體,除了需要雄厚的技術實力外,還需要耗費大量的人力財力物力,而且失敗的風險較大。即便開發成功,還要花大力氣進行推廣,建立周邊生態,這更是需要更大投資,時間成本也更大,往往需要幾年甚至十幾年時間才能看得到收益。

這對於習慣吃快餐、賺快錢的國內企業來說,根本無法接受。這也需要企業決策層領導具有很大的魄力和戰略眼光,但現實中,這樣的領導簡直是鳳毛麟角。

這也正是國內廠商大都不願觸碰自研OS的主要原因,也造成了我國至今仍沒有自己的操作系統編譯器的局面。

此外,現在市場上對一個新的OS的需求其實也沒有那麼急迫,沒有需求,就沒有利益,自然就沒有動力。尤其在快餐文化盛行的今天,更是很少有公司願意去觸碰這吃力不討好的事情。

當然也無須太過悲觀,任何東西,只要有需求,就會有利益吸引力,就會給企業研究機構足夠的動力。相信將來某一天,一旦Windows, Linux, Apple三巨頭不再適用市場需求,馬上就會有新的操作系統出現。

或許也用不了等很久吧,畢竟微軟已經宣布Win10之後將不會再有大的Windows更新版本,而Linux雖然現在社區的開發仍然很活躍,新的功能仍在被源源不斷的添加進去,但也正是由於這個原因,它現在變成了一個大而全的通用操作系統,已經變得越來越臃腫,很多場景其實已經不是很適用了,只是沒有更好的替代品,很多公司又不願意投入自研OS,所以只能選擇相對成熟並且生態資源豐富的Linux。

Google不是幾年前就已經開始開發Fuchsia了嗎? 咱們拭目以待吧。也希望國內有實力的企業和科研機構能夠迎頭趕上,早日實現自研OS夢。

github上放出來的只是一個迷你的嵌入式OS內核LiteOS,翻看過代碼,本身並沒有很大的難度。至於鴻蒙OS,源碼還沒開放,目前為止還只是在PPT上出現過,所以不好評價,但願能夠不負眾望吧。

Hongmeng OS是基於Linux內核源代碼的開發。 OS實現代碼主要是C語言,內核提供的本機系統調用介面肯定也是C語言介面。上層APP應用程序與現有的Android JAVA程序兼容,可能需要重新編譯JAVA應用程序。程序代碼將運行。至於應用程序編程SDK不支持JAVA以外的編程語言,還需要等待系統正式發布後才能發布,但是你可以先了解下面的編譯器,據說這是一個業界開源編譯器,用於編譯APP程序。 。但是,我仍然希望鴻蒙操作系統的應用程序編程介面支持更多的編程語言(如CC等),這樣程序可以有更多的選擇。

操作系統從運行效率 和 可控性來看是要用C語言。 解釋性語言,比如python、PHP就不大可能的。Java 也不太可能,一方面運行效率不如C語言,另外不可控:在內存方面,C語言內存申請和釋放都很實時,不像Java 語言內存釋放 要等GC。在操作系統層面,內存申請和釋放是很頻繁的,不能用GC定時釋放,萬一來不及釋放 就OOM了,另外的萬一發生full GC 那就更糟糕了,操作系統底層指令運行稍微一抖動,應用程序的執行性能就震了三震。

希望對你有所幫助!

從技術上講,操作系統是一個沒有多少技術含量的事情。一個明白操作系統原理的人用幾個月就可以寫出一個操作系統。

這個世界上的操作系統成千上萬,到處都是,任何一個自動設備中都可以認為裡面有一個操作系統,電話、門禁、共享自行車中都有。

鴻蒙系統是否好寫要看他的目標是什麼,只是簡單使用當然簡單,但要成為一個流行的系統則難度非常的高。

個人看法是鴻蒙系統有天生的缺陷,他是對抗美國產生的,華為一家獨大,包括國內的其它廠商都不能幹涉,同時他並非開源,他想怎麼辦就怎麼辦。這樣就造成開發者特別是國外的開發者面臨的風險非常的大。要是和誰鬧翻了給禁用那怎麼辦?

安卓有一個最大的優勢在於開源,世界上的開發者都可以使用,共同推進發展。當然本次事件更多的來源於政府的制裁,作為google當然要遵守政府的規定。但鴻蒙同時要遵守政府及企業的雙層管制。

因此鴻蒙更多的是國內華為的系統,無論是阿里、小米還是誰想用都面臨具體的風險,國外的開發者更是這樣,要是他的國家一不小心辱華了,華為就給他們禁用,他們就死定了。

操作系統沒有一個可以用好寫來形容。

首先從代碼量上來講,操作系統作為一個系統,其代碼量工作是非常龐大的,如果由單個開發者來完成,會是一項非常艱巨的任務。比如Windows內核的代碼在5000萬行以上,Linux目前在2500萬行左右。如果題主從事開發工作的話,可以大概估計一下代碼量的多少。

作為操作系統來說,兼容不同設備以及不同代的設備是必須的,向上和向下兼容保證了操作系統可以運行在不同的平台上,而向後兼容則保證了開發者的產品不會由於系統升級而出現不能使用的情況。

鴻蒙是分布式系統,顯然需要支持不止一種類型的設備,這意味著操作系統本身需要考慮大量的底層硬體區別並給予支持。

操作系統最主要的一個功能是調度,即使在微內核架構里,調度依然被保留為內核的功能之一。

而調度在不同的負載下面,不同的設備上面以及不同的使用場景下面,都應該表現出不同的性能,那麼開發者需要考慮到這其中最優並且最穩定的方案,最簡單的方法不夠智能,最智能的方法又可能引入一些問題。

所以總體來講,不論操作系統本身性能優劣,從頭開發一套系統就是一件工程量極其龐大的工作。

對於像華為這種公司來說,寫出一個基於Linux的類似於安卓的系統應該是沒有什麼難度。但為什麼鴻蒙系統到現在還沒有正式退出使用?

其次一個系統主要是的就是它的生態系統,就是我們使用的各種app,就像當初微軟的手機系統,就是死在軟體生態不全,而形成生態就需要比較長時間和財力的投入,要吸引開發者去適配新的系統,而華為目前正在做這件事,通過高於其他系統的收益分成或者收益全部讓利開發者的方式慢慢完善自己的生態。目前國內外已經有很多軟體及 游戲 廠商已經開始適配HMS服務了,相信不久我們就能看到生態完善的華為新的系統了[贊]

聽到鴻蒙,華為都不知道是誰家系統,也許根本就不存在

湊合吧,筆畫有點多[捂臉]

難!

但對任何一家世界級體量的公司,都寫得出!連黑莓手機都能寫得出!

但生態很難!收費沒人用,開源也沒人用[捂臉]

不好寫

C. 為什麼有人說鴻蒙是安卓套殼

就好比蘋果把AirPods、HomePod、Watch os、TV os、CarPlay、HomeKit、MacOS都改成iOS ,分布式iOS,多端部署。

這樣,一提開源、基於aosp,某些人就會給把輕鴻蒙拎出來反駁:自研,開源啦,沒有安卓代碼。

一提手機上的功能,又把富鴻蒙(基於aosp)拎出來吹。

不要被文字 游戲 迷惑,我們只講真正的部分,下面的鴻蒙指代手機上的鴻蒙。那個混淆視聽的輕踢到一邊。

可以肯定的說,手機版鴻蒙就是基於安卓aosp,俗稱TP,至少目前是這樣。(還有其他混淆視線的op鴻蒙,liteOS等〈說沒安卓代碼的就是這個〉,注意分清)

那些罵人的極端粉絲請注意, 我們反對的不是自研,而是反對吹牛忽悠 。如果當初有人也以自研,民族,國家為擋箭牌,那我們就不可能揭露紅心瀏覽器和木蘭語言的吹牛和忽悠。

還有一些粉絲狡辯:如果是安卓谷歌早就起訴華為了。

這些人是沒搞清楚或故意混淆AOSP(Android Open-Source Project,Android 開放源代碼項目)和谷歌android的區別。AOSP隨便用,但是只有經過谷歌認證的安卓才能安裝GMS和谷歌play。搞明白了沒?谷歌控制的是gms和谷歌play,谷歌無權控制安卓。

一些人造謠谷歌告阿里, 實際上谷歌從來沒有起訴過阿里 。就連套皮的紅心瀏覽器谷歌也沒有告過。

套皮安卓是幫谷歌壯大安卓生態,壓制ios等對手。當年穀歌diss阿里就是因為阿里重寫了虛擬機(可見,阿里的自主化做的比某廠多),想分裂生態另起爐灶,如果阿里套皮,谷歌才懶得理。

某個群體否認手機HM os是PPT,說HM開源了,哪裡還是PPT。

1,直到目前(2021.06.29)開源的那個是op 鴻蒙,功能簡陋粗糙,功能機和車機水平,炒作營銷意義大於實際。和手機版完全是兩個東西。

2,ppt上微內核,五個笑臉源碼呢?吊打A公司和G公司系統的ppt系統依舊只存在於ppt。手機上的依舊是安卓是新版emui,國外發布的新系統依舊沿用emui名字—emui12。拿emui改名出來頂包是不是ppt了?微內核呢?五個笑臉呢?

3,將來鴻蒙出來了是不是打臉之前質疑的網友的臉?

三十年前我說我是萬元戶,朋友都嘲笑我,現在我終於可以打他們臉了。

你這和拿2008年的數據論證1958年超英趕美有啥區別?

畝c萬j現在實現了,是不是可以打了當年批判它的人的臉?現在的人是不是要向當年吹牛放衛星的人謝罪?

根據統計,aosp源碼共125G,提交量統計, 谷歌(不含子公司)提交量佔56%+,蘋果4.3%,華為提交量佔0.04% ,按行數統計谷歌更是高達94%以上,linux內核700多M,僅佔0.37%,可見華為王成錄博士的談話有意貶低了谷歌的貢獻,吃相有點難看。

1.fireOS,lineaOS也不顯示。

2.「 power by android」不是想加就能加的,必須通過安卓品牌團隊批准才可以 。

網友是嘲諷它自主科研嗎?是否認華為真的在做一些事情嗎?

不是。

網友們反感的是它明明連一都沒做到就說自己做出了一百,而某些人能吹出它做了1000,還不讓網友質疑。

花粉:「我在電腦上安裝了安卓模擬器打王者榮耀證實了一件事情,windows是套皮的安卓,因為他的系統里有安卓系統源代碼,與此同時我也證明了另外一件事情鴻蒙系統它也能打王者榮耀,巧的是它系統裡面有安卓系統源代碼,所以鴻蒙也是套皮的安卓,安卓牛逼!!!這個笑話好笑不?」

這個花粉確實蠻 搞笑 的,window有自己的exe,解壓後也不是apk套皮,更不會像鴻蒙app運行起來後後台看到的是一個安卓進程,即windows有自己的運行時。最後 windows卸載了安卓模擬器沒影響。手機鴻蒙去掉了安卓還能開機嗎?

還有拿WSL來舉例說鴻蒙不是套皮安卓的:

『不能因為windows推出了一個windows subsystem linux,就說windows是linux套皮。』

和上面的一樣,windows有WSL但是人家的exe並不是跑在linux的運行時(RT)上,而是運行在自己RT上!有自己的win32生態,WSL更多的是給開發人員提供linux開發測試環境,去掉WSL對自身使用和生態毫無影響。鴻蒙那個是直接完全依賴ART,去掉aosp鴻懞直接……

沒人說含安卓代碼就是套皮,但是鴻蒙連自己的運行時都沒有,鴻蒙app運行在ART之上,這還不是套皮是什麼?

某人說鴻蒙隨時可用2年了,生態應用遷移只需1-2天,這么簡單,但到現在連「花粉俱樂部」都沒有鴻蒙版,只有安卓版,花粉來吹鴻蒙和罵我都只能通過安卓app……

還能說什麼?

這個理由聽起來好像有道理,但是再仔細一分析妥妥的是自己騙自己:

1,做給谷歌做給外國人看,嚇唬它們的,全程卻是中文而不是英語,手機發布會都用英語,反而「做給谷歌/美國」看吹鴻蒙的用中文。

2,谷歌看「吹牛」來判斷一個系統怎麼樣?it界的真理是:talk is cheap,show me the code。等鴻蒙是開源,谷歌的工程師一看源碼就知道行不行,根本不在乎對方說什麼。

可見,鴻蒙的言論主要福報的就是國人。

更諷刺的是營銷成自研系統,突破封鎖,你以為鴻蒙是對標android、ios?是去搶海外市場么?

要回答這個問題,先要知道為啥華為海外市場暴跌——用不了GMS,相當於國內用不了微信支付寶美團等生態。用不了GMS自然不能貼android標,這本是無奈之舉,水軍喪事喜辦反手炒作成主動不貼標,自主研發的形象又立起來了。

那鴻蒙解決華為用不了GMS的問題了么,解決晶元問題?顯然沒有。鴻蒙對標的是coloros、miui、flyme,搶的是國內市場。

幾個中國廠商鷸蚌相爭,關外國人鳥事?

本來套皮就沒什麼呀,我們本來就沒有反對套皮,我們反對的是套皮了卻死不承認吹自研,不要偷換概念。

李楠挺鴻蒙的回答就是偷換概念的典型,說套皮的各種合理性,可是我們反對的又不是套皮,所以李楠真是答非所問。當然李楠也可能是高級黑,更加坐實套皮的事實。

1,很佩服營銷能力。但是 「開放原子開源基金會」只是一個歸國家行政管理的一個「 社會 團體」,通俗一點就是一個「民間團隊」,和「國家隊」是兩碼事,把項目開源給民間團隊怎麼就成了國家戰略?

2,最重要的一點是,菊花開源的那個鴻蒙根本不是菊花手機上用的那個鴻蒙!再一次佩服營銷,強!

紅芯瀏覽器有VPN、防火牆等很多谷歌瀏覽器內核的瀏覽器沒有的功能,所以紅心瀏覽器就不是套皮?

大家都五菱宏光,菊花往裡面安了一個浴缸,然後菊粉就覺得其他人沒有,所以是菊花自研車?

如果是跑的安卓虛擬機,運行安卓程序時還應該顯示「專為舊版安卓打造」,因為這裡面根本沒有HM什麼事,那為什麼要修改成「專為HM打造」呢?解釋解釋。

三十年前我說我是萬元戶,朋友都嘲笑我,現在我終於可以打他們臉了

你這和拿2008年的數據論證1958年超英趕美有啥區別

6.2發布了鴻蒙,一些粉絲得意洋洋的說來「打」我的臉。

其實6.2發布的那個鴻蒙os不就是改名的新版emui么?玩 游戲 在安卓區還是鴻蒙區?那幾個所謂的鴻蒙app不是js,就是apk套皮在後台一看就是個安卓進程。沒有鴻蒙,用emui的時候,你們不能聯這個那個?

D. [openharmony]liteos-a系統編譯之GN

在 文章 中已經分析openharmony的小型系統(liteos-a)編譯過程,最主要的就是調用gn/ninja/makefs三個命令最終生成可燒錄的鏡像文件
從前面文件可以看到hb build調用的gn命令參數如下

這里詳細分析一下gn工具在編譯過程中的使用

這里簡單介紹下GN工具的使用方法,gn語法可以參考 http://weharmonyos.com/openharmony/compile/gn/docs/
,已經熟悉的可以跳過

從上面圖中可以看到使用的命令類型為 gn gen <output_dir> [options] ,此命令就是為了將所有需要的BUILD.gn文件生成為*.ninja文件供ninja進行編譯; 可以通過 gn help gen 命令查看詳細的用法說明, 如下

下面重點說一下gn_cmd中的 [options]

liteos-a編譯系統的dotfile內容如下:

liteos-a是嵌入式系統,而編譯環境是linux系統,這就需要用到交叉編譯方式,這個就可以在環境配置中指定 target_os 、 target_cpu 、 board_cpu 等等信息
這些信息就是 buildconfig 參數指定的 BUILDCONFIG.gn 文件中配置的
除了以上信息,還配置了以下幾個重要信息

詳細信息可以查看 //build/lite/config/BUILDCONFIG.gn 文件內容

toolchain定義源碼編譯需要的工具,像編譯器、匯編器、連接器等等,一般在.gn所在目錄下有一個 toolchain 目錄,裡面的 BUILD.gn 定義詳細的編譯工具鏈信息
這里目錄結構如下:

從結構信息中可以看到定義了clang和gcc兩種工具鏈,通過變數 board_toolchain_type 來區分(此變數也是buildconfig中定義的),具體信息參見BUILD.gn文件內容,如下

在.gn文件所在目錄下的BUILD.gn就是入口,此文件做了以下幾個事情

這里重點說一下target為 ohos 的 group 如下:

這里也比較好理解,裡面就是讀取一個配置文件,幾級循環來處理配置文件中配置的內容。流程如下

到此就將此board下各模塊的依賴關系添加好了,然後 GN 會將依賴樹中所有的BUILD.gn生成對應的.ninja文件,並且在out的根目錄下生成下面幾個ninja的入口文件以及配置文件

E. 請問有Huawei LiteOS(華為物聯網操作系統) V5.0.0 官方版軟體免費百度雲資源嗎

鏈接:

提取碼:d896

軟體名稱:HuaweiLiteOS(華為物聯網操作系統)V5.0.0官方版

語言:簡體中文

大小:89.36MB

類別:系統工具

介紹:HuaweiLiteOS(華為物聯網操作系統)是一款由華為官方推出的輕量級物聯網操作系統,它的基礎內核包括不可裁剪的極小內核和可裁剪的其他模塊,這款系統能提高創新的系統設計,可以最大限度的降低系統功耗,目前此系統已經被開源,今天也為大家附上源碼供大家學習使用。

F. 2.0.0.165是什麼系統

鴻蒙(HarmonyOS,開發代號Ark)是華為自2012年開發的一款可兼容Android應用程序的跨平台分布式操作系統。

系統性能包括利用「分布式」技術將各款設備融合成一個「超級終端」,便於操作和共享各設備資源。

系統架構支持多內核,包括Linux內核、LiteOS和鴻蒙微內核,可按各種智能設備選擇所需內核,例如在低功耗設備上使用LiteOS內核。2019年8月華為發布首款搭載鴻蒙操作系統的產品「榮耀智能屏」,之後於2021年6月發布搭載鴻蒙操作系統的智能手機、平板電腦和智能手錶。

鴻蒙是打通手機、電腦、平板、電視、汽車和智能穿戴等多種設備的統一操作系統。鴻蒙系統的內核抽象層支持多內核;在手機及平板等設備上,系統選擇Linux內核並包含Android開源碼,可兼容Android應用、鴻蒙應用和網路應用等程序。在手錶及物聯網設備上,系統選擇輕量級子系統LiteOS。

鴻蒙系統的通信基座使用「分布式軟匯流排」技術聯通多款設備,允許一個設備控制其他設備,及共享分布在各款設備的數據資源。

該系統支持多種形式的應用程序,包括在「華為應用市場」下載和安裝的應用程序,及免安裝的「快應用」和便捷的「原子化服務」。該項服務可由用戶在系統內搜尋「服務卡片」後啟動或碰一碰設備直接啟動。

系統版本

鴻蒙操作系統初始版本於2019年8月9日由華為在東莞市發布,並於次日推介首款搭載鴻蒙系統的產品「榮耀智能屏」。

2020年12月16日,華為發布鴻蒙操作系統2.0手機開發者Beta版本,次年6月2日,華為舉行線上發布會正式發布華鴻蒙操作系統2.0,及公布搭載該系統的多款新產品,包括華為智能手機、平板電腦和智能手錶,同時向現有用戶分階段推送系統更新。至2021年10月22日,鴻蒙2.0已有超過1.5億用戶。

G. [openharmony]liteos-a系統編譯之ninja

在 文章 中已經分析openharmony的小型系統(liteos-a)編譯過程,最主要的就是調用gn/ninja/makefs三個命令最終生成可燒錄的鏡像文件
在 文章 詳細介紹了liteos-a系統編譯時gn命令的原理,本文中針對liteos-a編譯時ninja的使用做一些詳細說明
通過前面文章中可以看到調用的ninja命令如下

ninja工具源碼及文檔路徑為 https://github.com/ninja-build/ninja
網上也有很多中文版的資料,如 Ninja - chromium核心構建工具

類似gn工具需要在根目錄下有一個.gn以及BUILD.gn文件,ninja工具運行需要根目錄下有一個build.ninja文件,也即ninja編譯規則的入口,此文件所在路徑可以通過選項 -C dir 來指定,例如liteos-a中使用的就是gn的out路徑 /home/itsenlin/code/ohos_3.0/out/hispark_taurus/ipcamera_hispark_taurus

此文件是ninja編譯工具的入口,類似於make的makefile;相對於makefile,ninja文件規則、依賴更簡單,編譯速度也會更快
打開此文件可以看到主要包含以下幾塊內容

這樣在執行ninja命令時,就會默認build這個 all ,然後根據前面這個依賴關系進而編譯整個系統

但是有一個問題,查看這個文件內容,並沒有看到各模塊目錄下ninja的信息,這個是怎麼關聯進來的呢?

查看這個文件內容,這裡面不僅僅有編譯工具鏈相關的定義,還有對編譯所需要的各模塊的 .ninja 文件的關聯也在這里,以及build.gn中定義的一些規則也轉換成rule放在這個文件中了,如下

這樣就關聯上了編譯所需要的所有的ninja文件,然後 ninja就會對每個依賴項進行編譯,最終生成 .o 、 .a 、 .so 、 .bin 等文件

當前openharmony編譯系統中不僅僅使用了gn+ninja,還使用了make+makefile。
舉個例子,linux kernel的編譯就是通過make編譯的;而liteos kernel兩者都有用,編譯的文件也不一樣,後面再詳細分析吧

是怎麼實現使用兩種編譯工具同時編譯的呢?看生成的ninja文件(或者gn中的定義)不難看出是通過執行bash腳本來實現的,以liteos-a的make為例:
gn中有下面這個定義

轉換成ninja規則如下

從上面定義看,就是ninja在編譯到這個build的時候就會執行 //kernel/liteos-a/build.sh 腳本,而此腳本最後就是執行的 make 命令,如下

H. [openharmony]liteos-a編譯過程分析

最近搞一個sensor接入openharmony的事情,在分析源碼中的加速度計驅動相關源碼時,發現不緊有BUILD.gn文件,還有Makefile文件,並且裡面都有記錄源文件路徑。所以很困惑,openharmony是通過gn+ninja編譯的還是通過make編譯的?
為了搞清楚,所以針對liteos-a系統下的編譯過程進行分析,在這里記錄一下

通過官方文檔看,liteos-a系統編譯時用的是官方的hb命令 hb set 和 hb build 命令,所以入口肯定是hb工具
查看openharmony源碼中build目錄下有一個lite/hb目錄(hb命令的源碼目錄,使用python腳本)

看鴻蒙研究站裡面有一篇介紹hb命令的調試方法,通過vscode+python插件調試,參見 《v59.xx 鴻蒙內核源碼分析(構建工具篇) | 順瓜摸藤調試鴻蒙構建過程》

設置好之後就可以開始在vscode上調試

這個是整個編譯的重點,通過調試可以看到最終是調用了gn/ninja/fs_make,如下分析

這個就是整體的編譯過程了,先調用gn生成ninja文件,再通過ninja進行編譯,最後通過fs_make製作鏡像

因為內容太多,下面對這三個編譯動作先做個整體的介紹,後續再對每一個進行詳細分析

繼續調試,會先進入 gn_build 介面,看實現就是調用了 gn gen 命令,如下

查看gn_cmd變數,詳細命令為(比較多,經過了整理):

這個命令之後,就會將工程中所有用到的 BUILD.gn 文件轉換成 <mole_name>.ninja 文件(類似 makefile )供後面 ninja 命令(類似 make )調用並進行編譯

再繼續調試就會進入 ninja_build 介面,實現以及執行的詳細的 ninja 命令如下

這個命令與 make 命令類似,但是注重速度(詳細信息可以在網上搜索兩者區別);此命令執行即是通過build.ninja/toolchain.ninja/各BUILD.gn轉換的.ninja來進行編譯,並生成.bin/.so/.a等文件

整個編譯OK之後會輸出如下圖中成功信息

在out目錄下就會生成燒錄用到的鏡像文件,如下圖

I. 華為計劃在手機上推出鴻蒙操作系統,這是個什麼樣的系統

2020年9月15日,是特別的一天。

因為美國對華為的晶元新禁令正式生效。

自此,台積電、高通、三星、SK海力士、美光等主要元器件廠商將不再供應晶元給華為。

2019年,華為就推出了鴻蒙系統,積極應對美國禁令。

上周,華為召開了2020開發者大會,華為消費者業務 CEO 余承東宣布了最新的鴻蒙 OS 2.0 ,目標是「共建萬物互聯的全場景智慧生態」。

針對最新的鴻蒙系統,梁寧老師和鴻蒙的開發者與生態建設者進行了溝通,得到了關於鴻蒙系統的9個關鍵問題和答案。

我們征詢梁寧老師授權,把她和鴻蒙開發者的溝通內容,獨家分享給你。

希望能幫助你進一步認識華為的鴻蒙系統。

04.鴻蒙計劃的 1+8+N 的萬物互聯和小米的米家連接區別是什麼?

小米生態所有產品都可以通過手機操作。

是因為小米生態產品通過加 SDK 通信組件,與小米手機連接,並進行通信。

鴻蒙系統手機與採用分布式技術的底層系統打通,可以實現音視頻,甚至 CPU 級別的系統交互。

過去雙攝像頭、三攝像頭發布後,大家調侃是否會出到100個攝像頭,通過分布式能力,確實是可以的。

外部設備可以理解為通過無線的方式裝載到手機里,你可以認為手機的范疇變大了,是萬物互聯的超級設備。


05.鴻蒙系統與安卓系統是否兼容?

鴻蒙系統目前基於安卓系統,有300萬個 APP。

鴻蒙選擇兼容道路也是十分務實。

已有移植到鴻蒙,只需要在多設備互動的功能中使用的新 API 增量開發,大大降低應用適配難度。


06.鴻蒙為設備廠商提供哪些支持?

6.1開源免費

6.2SDK

6.3百萬級源碼

6.4設備開發工具鏈

6.5開發板模組


07.鴻蒙為開發者提供哪些支持?

7.11萬 API 調用

7.2自主開發的框架

7.3工具鏈

7.4模擬器

7.5需要獲得技術支持可以到 Harmonyos.com 官網聯系。

也可以自行到開源社區進行代碼修改和提交。

開放性有開放原子開源基金會保障。(這個基金會,有時間再介紹)



08.安卓強大在哪裡?

15年積累。

占據近全球87%智能手機用戶心智。

400名開發者(99% Google 員工)。

1.2億行代碼。



09.為什麼安卓也需要中國?

9.1全球1/2的安卓手機是中國品牌。

9.2全球1/4的安卓手機賣給中國用戶。

9.3Google 網站自己披露的非手機類 ODM 合作夥伴,一共50家左右,都是中國企業,具體來說,7成在深圳,近3成在上海地區。

簡單來說,安卓最重要的夥伴,除了三星,全是中國企業!!!


綜上,鴻蒙的雄心,三分天下有其一

熱點內容
androidwear表盤 發布:2024-03-29 23:09:46 瀏覽:832
19萬的紅旗有哪些配置 發布:2024-03-29 23:09:44 瀏覽:984
裝修公司網站源碼 發布:2024-03-29 23:01:45 瀏覽:453
安卓手機哪個有nfc功能 發布:2024-03-29 22:59:25 瀏覽:553
newifi搭建伺服器 發布:2024-03-29 22:56:43 瀏覽:956
神演算法 發布:2024-03-29 22:38:54 瀏覽:105
教學視頻文字腳本 發布:2024-03-29 22:29:49 瀏覽:137
java心跳檢測 發布:2024-03-29 22:28:53 瀏覽:981
玩戰地5配置不行怎麼辦 發布:2024-03-29 22:10:28 瀏覽:981
javaice 發布:2024-03-29 21:56:37 瀏覽:355