當前位置:首頁 » 編程軟體 » 鴻蒙編譯文件結構

鴻蒙編譯文件結構

發布時間: 2024-02-02 15:43:15

A. 如何看待鴻蒙系統

鴻蒙的技術特徵:微內核、方舟靜態編譯器、EROFS 文件系統。我們預計,鴻蒙系統將採用微內核架構提升系統穩定性,藉助方舟編譯器提升鴻蒙性能,通過 EROFS穩健系統從系統底層提升系統流暢度,三大底層技術支持與業界重量級人物領銜為鴻蒙的面世保駕護航。

鴻蒙的未來:三大趨勢明確,開源、平台化和生態搭建。參與開源,與前輩高手過招,是最容易的成長方式;鴻蒙系統劍指打通手機、電腦等多種硬體,統一成一個操作系統,並兼容安卓與全部的 Web 應用,實現軟硬體平台一體化的目標;未來如何吸引到更多的應用開發者提供優質、穩定的軟體應用產品,避免僅僅局限在華為自身的機器和硬體上發展,是對華為最大的考驗,這也將決定鴻蒙能走得多遠,操作系統層面的競爭可謂「得生態者得天下」。

B. 鴻蒙3.0系統與華為倉頡編程語言,從系統級6層架構上深入分析

華為的鴻蒙系統3.0開始對9款手機的公測,這其中就包括p50系列的3款手機,mate40系列的5款手機,和一款12.6英寸的matepad pro。這讓咱手裡拿著的mate30備受冷落。但我自己心裡就更加期待華為的倉頡編程語言。這么屈指一算,倉頡編程語言從4月2號開始內測以來已經兩個多月了。因此,我預判,鴻蒙系統3.0會跟倉頡編程語言一起來到咱們的身邊。

那麼在准備迎接鴻蒙系統3.0和倉頡編程語言之前,我這一期幫大家打一個堅實的基礎。我相信許多朋友當說起來操作系統或者是編程語言的時候,腦子里其實是有點支離破碎,或者是一頭霧水。我幫助大家從一個宏觀的角度去鳥瞰,去把握和理解計算機科學體系中的坐標,讓你獨具一雙慧眼,單單靠著你的直覺就能獲得專業的視角。計算機科學包括六層架構,操作系統在第四層上,華為倉頡編程語言這樣的應用級編程語言則處在第五層上。

咱們先從底部開始,所謂萬丈高樓平地起嘛。咱們來先看基礎:信息理論。任何學科的基礎都是數學,當然計算機科學也不例外。這第一層就是關於數學理論的。咱們日常用的是十進制,計算機則是由0和1構建起來的是二進制。那數學也很簡單,就是關於0和1的加法。比如1加1,在十進制中是等於2,而在二進制1加1等於10,這就是所有的數學基礎,也就是這么簡單。

但是還有更加往上抽象的一個層面的基礎,就是咱們在高中時候學習的「布爾代數」。看似不起眼的「布爾代數」研究的是機器如何思考,如何讓機器來獲得智能這樣的問題。

布爾在1854年就解決發表一篇「研究人類的思考規律」的論文,提出了「布爾代數」,為機器如何思考打下了理論基礎。

布爾當時的想法很簡單。他認為人是理性的,那麼人是按照理性邏輯來思考問題的。於是,如果他能把大腦思考問題的邏輯,提煉抽象出來的話,那麼是不是就能用這邏輯在大腦之外去思考呢?布爾的這項雄心勃勃的構思就是人工智慧的雛形。你想呀,如果把這個邏輯提煉出來用在機器機械零件上,機械零件就會開始思考。如果用在電路上,這個電路是不是也就開始思考了呢。布爾代數咱們就很熟悉了,我就在這里就不帶展開,我前面有一期就專門來講述了這個機器來如何用布爾代數來思考,大家感興趣可以看下那一期,我在這不展開浪費時間。

再往上第二層就是硬體,布爾他把理論抽象出來,將布爾代數應用到電路上,電路是不是也就能開始思考?哎,到了1938年,香農就首次把布爾代數應用到了電路上,於是這個電路就開始思考了。從最早的真空管到半導體晶體管(我前面那一期也專門講過「機器如何用晶體管來思考」)然後到集成電路,再到現在這個大型的集成電路晶元。我們知道麒麟9000晶元用的Arm架構的指令集,指揮CPU工作的指令又叫機器碼。比如「加法」就是用一串數字機器碼00000011來表示。

然而你會發現,用機器碼來指揮這個cpu或者電腦工作太麻煩了。一般人哪裡能記住像前面的6個0和後面兩個1來表示加減乘除的加呢。

正是困擾於此,科學家就此提出來編程語言。最早編程語言是匯編語言。比如前面表示加法的機器碼00000011,匯編語言中將其抽象為add。然而,匯編語言也需要大量的記憶,一個指令一個指令的對應,也是太機械了。再往前一步,往上一層抽象就是系統級的編程語言:面向過程的C語言。

一門編程語言所要做的一個主要工作就是在機器和我們人類思考之間建立一座橋梁。我們是人類的思考邏輯,機器是機械 式邏輯思考問題。越高級的編程語言越符合我們人類的思考邏輯,越初級的編程語言則越貼近機器的邏輯。因此,我們用高級的編程語言比如C語言,將想做的事情表達出來,它會自動轉換成機器碼。

我喜歡的編程發展史上的第二大古老的語言:Lisp語言。

就是直接使用我們的抽象思考的語言。比如重復地來做一件事,重復說五遍「Hello」這個單詞。Lisp將重復抽象為dotimes,do是做, times是多次,dotimes反復多次做。看見沒,編程語言成了我們抽象的思考工具。

當然,華為倉頡語言也是在編程語言這里,但不是系統級的編程語言,咱們後面再說

當在第二層硬體之上發展出來高級的編程語言,有了系統級的編程語言比如C語言之後。大家就發現,我需要一個操作系統來處理日常的基本任務,比如文件管理,進程管理,內存管理,設備管理和用戶管理等等。於是科學家著手用編程語言寫操作系統。而事實上C語言在1969年的發明,也正是為了移植與開發UNIX操作系統。C語言的設計者丹尼斯·里奇同時也是Unix操作系統的發明人。到了1991年Linus用C語言寫了linux內核,也是目前安卓和鴻蒙系統的內核。

華為的EROFS超級文件系統並入Linux內核之後,無論是Linux還是安卓都打上了20%的華為烙印。

操作系統再往上一層就是我們日常的應用。比如聽歌、看視頻等apps就是在操作系統之上。這也好理解,先有了操作系統,才有我們的各種應用。由此也能理解,為什麼像鴻蒙系統3.0如此重要,因為應用程序要運行在上面。這些應用程序就是用華為倉頡編程語言等應用級編程語言開發的。不過,目前咱們手機上的應用程序都是用Java開發。未來鴻蒙系統將會使用自研的倉頡語言開發鴻蒙應用。

應用程序的主要功能之一是溝通和交流。我們用Email發郵件,用通訊視頻聊天,而Web應用技術構建起來當前的互聯網信息大廈。

好了,我們總結一下。計算機科學的六層架構。

第1層是信息理論,研究如何在大腦之外實現思考,布爾代數是人工智慧的雛形。第2層是硬體,布爾代數應用到電路上,晶體管開始思考,將數以億計的晶體管雕刻到集成電路CPU中,CPU的機器碼指揮計算機工作。第3層編程語言,從枯燥難記的機器碼里發展出來匯編語言,再到系統級的C語言,構建起來人類思考與機器邏輯之間橋梁。第4層操作系統,C語言不是憑空而來,是為了開發Unix操作系統而發明,而操作系統是計算機里最大的軟體。第5層應用軟體,日常所有的apps都運行在操作系統之上。倉頡編程語言是給鴻蒙系統開發應用程序的專屬開發語言。第六層溝通互聯,就是我們目前的互聯網技術,在網路里看書、聽音樂,點一份外賣等等。

這就是計算機科學六層架構,鴻蒙操作系統與倉頡編程語言各就各位。用架構去思考和看問題,不僅能心中有數,還能獨具一雙慧眼。

C. 鴻蒙系統只能用在華為手機上嗎 它和安卓系統什麼關系區別

目前華為手機上正在用的鴻蒙系統, 叫做"鴻蒙OS", 是一個閉源系統, 可以運行安卓應用, 但是因為是閉源系統,別的廠家沒法使用, 要使用需要和華為有相關協議並支付費用
1、安卓與鴻蒙手機操作系統基本都是基於Linux開發的,但兩者的構架是不同的:
安卓系統是基於linux的宏內核設計:宏內核包含了操作系統絕大多數的功能和模塊,而且這些功能和模塊都具有最高的許可權,只要一個模塊出錯,整個系統就會崩潰,這也是安卓系統容易崩潰的原因。好處就是系統開發難度低。(而現在,華為新研發的就是為了解決這個問題的,任何由編譯器編譯的android軟體都可以直接與系統底層進行通信,鴻蒙系統加編譯器將取代。)Android是用Java語言編寫的,很容易學習。但它有一個缺點:不能與系統底層直接進行通信活動,必須通過虛擬機來運行。說直接點就是虛擬機相當於傳遞者:首先Android應用程序安裝在虛擬機上,然後從虛擬機傳輸到機器的底部,如果虛擬機出了問題話的那系統就是卡住。而且鴻蒙系統中的方舟編譯器就是為了解決這個問題的,任何由編譯器編譯的android軟體都可以直接與系統底層進行通信,鴻蒙系統加編譯器將取代虛擬機。
安卓系統架構圖
鴻蒙操作系統是微內核設計:微內核僅包括了操作系統必要的功能模塊(任務管理、內存分配等)處在核心地位具有最高許可權,其他模塊不具有最高許可權,也就是說其他模塊出現問題,對於整個系統的運行是沒有阻礙的。微內核的開發難度很大,但是系統的穩定性很高。根據目前華為公布的一些資料信息,我們可以推斷出鴻蒙系統是用C、C++語言編寫即直接使用機器語言編寫app,取消安卓系統的ART虛擬機,直接編譯為,這樣做的好處就是不需要中轉,執行速度快;但這樣的操作也有一些缺點就是必須要有大量的靜態方案且內存空間要求更高。

D. 升級鴻蒙系統後,能不能返回用安卓系統了

因為鴻蒙操作系統的核心已經不是安卓了,兩者的底層代碼、文件格式、編譯方式都改變了,無法簡單的直接升級。就好比Windows系統的電腦想要安裝Ubuntu系統,也只能通過光碟或者U盤進行重新安裝。智能手機在系統兼容性方面比電腦要更差一些,甚至同樣的安卓系統,華為EMUI和小米MIUI之間都不能互相切換。

因此建議普通華為手機用戶在鴻蒙系統發布之後,也不要著急將舊手機升級到鴻蒙系統。因為全新的系統生態的建立是需要一定時間的,至少要等到騰訊、阿里等移動互聯網開發者為鴻蒙系統開發了微信、支付寶等常用APP之後,鴻蒙才算是一個完整的手機操作系統。

熱點內容
多台電腦如何創建存儲伺服器 發布:2024-11-16 10:44:44 瀏覽:340
移動雲伺服器下載 發布:2024-11-16 10:37:23 瀏覽:857
融媒體中心建設專題片拍攝腳本 發布:2024-11-16 10:37:22 瀏覽:934
域控制伺服器怎麼管理vlan 發布:2024-11-16 10:06:49 瀏覽:28
jquery圖片壓縮上傳 發布:2024-11-16 09:54:50 瀏覽:603
安卓如何排查內存泄漏 發布:2024-11-16 09:54:13 瀏覽:200
怎麼設置登錄區域網伺服器憑據 發布:2024-11-16 09:49:46 瀏覽:539
閑置電腦家用下載伺服器 發布:2024-11-16 09:48:28 瀏覽:751
java工程師面試問題 發布:2024-11-16 09:28:36 瀏覽:234
用什麼引擎導出的安卓安裝包不大 發布:2024-11-16 09:09:06 瀏覽:474