華為的鴻蒙系統(tǒng)3.0開始對9款手機的公測,這其中就包括p50系列的3款手機,mate40系列的5款手機,和一款12.6英寸的matepad pro。這讓咱手里拿著的mate30備受冷落。但我自己心里就更加期待華為的倉頡編程語言。這么屈指一算,倉頡編程語言從4月2號開始內(nèi)測以來已經(jīng)兩個多月了。因此,我預判,鴻蒙系統(tǒng)3.0會跟倉頡編程語言一起來到咱們的身邊。
站在用戶的角度思考問題,與客戶深入溝通,找到鎮(zhèn)海網(wǎng)站設計與鎮(zhèn)海網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設計制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋鎮(zhèn)海地區(qū)。
那么在準備迎接鴻蒙系統(tǒng)3.0和倉頡編程語言之前,我這一期幫大家打一個堅實的基礎。我相信許多朋友當說起來操作系統(tǒng)或者是編程語言的時候,腦子里其實是有點支離破碎,或者是一頭霧水。我?guī)椭蠹覐囊粋€宏觀的角度去鳥瞰,去把握和理解計算機科學體系中的坐標,讓你獨具一雙慧眼,單單靠著你的直覺就能獲得專業(yè)的視角。計算機科學包括六層架構,操作系統(tǒng)在第四層上,華為倉頡編程語言這樣的應用級編程語言則處在第五層上。
咱們先從底部開始,所謂萬丈高樓平地起嘛。咱們來先看基礎:信息理論。任何學科的基礎都是數(shù)學,當然計算機科學也不例外。這第一層就是關于數(shù)學理論的。咱們?nèi)粘S玫氖鞘M制,計算機則是由0和1構建起來的是二進制。那數(shù)學也很簡單,就是關于0和1的加法。比如1加1,在十進制中是等于2,而在二進制1加1等于10,這就是所有的數(shù)學基礎,也就是這么簡單。
但是還有更加往上抽象的一個層面的基礎,就是咱們在高中時候?qū)W習的“布爾代數(shù)”??此撇黄鹧鄣摹安紶柎鷶?shù)”研究的是機器如何思考,如何讓機器來獲得智能這樣的問題。
布爾在1854年就解決發(fā)表一篇“研究人類的思考規(guī)律”的論文,提出了“布爾代數(shù)”,為機器如何思考打下了理論基礎。
布爾當時的想法很簡單。他認為人是理性的,那么人是按照理性邏輯來思考問題的。于是,如果他能把大腦思考問題的邏輯,提煉抽象出來的話,那么是不是就能用這邏輯在大腦之外去思考呢?布爾的這項雄心勃勃的構思就是人工智能的雛形。你想呀,如果把這個邏輯提煉出來用在機器機械零件上,機械零件就會開始思考。如果用在電路上,這個電路是不是也就開始思考了呢。布爾代數(shù)咱們就很熟悉了,我就在這里就不帶展開,我前面有一期就專門來講述了這個機器來如何用布爾代數(shù)來思考,大家感興趣可以看下那一期,我在這不展開浪費時間。
再往上第二層就是硬件,布爾他把理論抽象出來,將布爾代數(shù)應用到電路上,電路是不是也就能開始思考?哎,到了1938年,香農(nóng)就首次把布爾代數(shù)應用到了電路上,于是這個電路就開始思考了。從最早的真空管到半導體晶體管(我前面那一期也專門講過“機器如何用晶體管來思考”)然后到集成電路,再到現(xiàn)在這個大型的集成電路芯片。我們知道麒麟9000芯片用的Arm架構的指令集,指揮CPU工作的指令又叫機器碼。比如“加法”就是用一串數(shù)字機器碼00000011來表示。
然而你會發(fā)現(xiàn),用機器碼來指揮這個cpu或者電腦工作太麻煩了。一般人哪里能記住像前面的6個0和后面兩個1來表示加減乘除的加呢。
正是困擾于此,科學家就此提出來編程語言。最早編程語言是匯編語言。比如前面表示加法的機器碼00000011,匯編語言中將其抽象為add。然而,匯編語言也需要大量的記憶,一個指令一個指令的對應,也是太機械了。再往前一步,往上一層抽象就是系統(tǒng)級的編程語言:面向過程的C語言。
一門編程語言所要做的一個主要工作就是在機器和我們?nèi)祟愃伎贾g建立一座橋梁。我們是人類的思考邏輯,機器是機械 式邏輯思考問題。越高級的編程語言越符合我們?nèi)祟惖乃伎歼壿?,越初級的編程語言則越貼近機器的邏輯。因此,我們用高級的編程語言比如C語言,將想做的事情表達出來,它會自動轉換成機器碼。
我喜歡的編程發(fā)展史上的第二大古老的語言:Lisp語言。
就是直接使用我們的抽象思考的語言。比如重復地來做一件事,重復說五遍“Hello”這個單詞。Lisp將重復抽象為dotimes,do是做, times是多次,dotimes反復多次做??匆姏],編程語言成了我們抽象的思考工具。
當然,華為倉頡語言也是在編程語言這里,但不是系統(tǒng)級的編程語言,咱們后面再說
當在第二層硬件之上發(fā)展出來高級的編程語言,有了系統(tǒng)級的編程語言比如C語言之后。大家就發(fā)現(xiàn),我需要一個操作系統(tǒng)來處理日常的基本任務,比如文件管理,進程管理,內(nèi)存管理,設備管理和用戶管理等等。于是科學家著手用編程語言寫操作系統(tǒng)。而事實上C語言在1969年的發(fā)明,也正是為了移植與開發(fā)UNIX操作系統(tǒng)。C語言的設計者丹尼斯·里奇同時也是Unix操作系統(tǒng)的發(fā)明人。到了1991年Linus用C語言寫了Linux內(nèi)核,也是目前安卓和鴻蒙系統(tǒng)的內(nèi)核。
華為的EROFS超級文件系統(tǒng)并入Linux內(nèi)核之后,無論是Linux還是安卓都打上了20%的華為烙印。
操作系統(tǒng)再往上一層就是我們?nèi)粘5膽谩1热缏牳?、看視頻等apps就是在操作系統(tǒng)之上。這也好理解,先有了操作系統(tǒng),才有我們的各種應用。由此也能理解,為什么像鴻蒙系統(tǒng)3.0如此重要,因為應用程序要運行在上面。這些應用程序就是用華為倉頡編程語言等應用級編程語言開發(fā)的。不過,目前咱們手機上的應用程序都是用Java開發(fā)。未來鴻蒙系統(tǒng)將會使用自研的倉頡語言開發(fā)鴻蒙應用。
應用程序的主要功能之一是溝通和交流。我們用Email發(fā)郵件,用通訊視頻聊天,而Web應用技術構建起來當前的互聯(lián)網(wǎng)信息大廈。
好了,我們總結一下。計算機科學的六層架構。
第1層是信息理論,研究如何在大腦之外實現(xiàn)思考,布爾代數(shù)是人工智能的雛形。第2層是硬件,布爾代數(shù)應用到電路上,晶體管開始思考,將數(shù)以億計的晶體管雕刻到集成電路CPU中,CPU的機器碼指揮計算機工作。第3層編程語言,從枯燥難記的機器碼里發(fā)展出來匯編語言,再到系統(tǒng)級的C語言,構建起來人類思考與機器邏輯之間橋梁。第4層操作系統(tǒng),C語言不是憑空而來,是為了開發(fā)Unix操作系統(tǒng)而發(fā)明,而操作系統(tǒng)是計算機里最大的軟件。第5層應用軟件,日常所有的apps都運行在操作系統(tǒng)之上。倉頡編程語言是給鴻蒙系統(tǒng)開發(fā)應用程序的專屬開發(fā)語言。第六層溝通互聯(lián),就是我們目前的互聯(lián)網(wǎng)技術,在網(wǎng)絡里看書、聽音樂,點一份外賣等等。
這就是計算機科學六層架構,鴻蒙操作系統(tǒng)與倉頡編程語言各就各位。用架構去思考和看問題,不僅能心中有數(shù),還能獨具一雙慧眼。
鴻蒙OS是基于Linux內(nèi)核源碼開發(fā)實現(xiàn)的,OS實現(xiàn)代碼主要是C語言,并且內(nèi)核提供的原生系統(tǒng)調(diào)用接口肯定也是C語言接口,上層APP應用兼容現(xiàn)有的安卓JAVA程序,可能需要重新編譯JAVA應用程序代碼即可運行。
應用編寫需要用java語言。
鴻蒙OS(英文:HarmonyOS)。在2019年8月9日,華為在東莞舉行華為開發(fā)者大會,正式發(fā)布操作系統(tǒng)鴻蒙OS。鴻蒙OS是一款“面向未來”的操作系統(tǒng),一款基于微內(nèi)核的面向全場景的分布式操作系統(tǒng),它將適配手機、平板、電視、智能汽車、可穿戴設備等多終端設備。
擴展資料:
技術特性:
1、確定時延引擎和高性能IPC技術實現(xiàn)系統(tǒng)天生流暢
鴻蒙OS通過使用確定時延引擎和高性能IPC兩大技術解決現(xiàn)有系統(tǒng)性能不足的問題。確定時延引擎可在任務執(zhí)行前分配系統(tǒng)中任務執(zhí)行優(yōu)先級及時限進行調(diào)度處理,優(yōu)先級高的任務資源將優(yōu)先保障調(diào)度,應用響應時延降低25.7%。鴻蒙微內(nèi)核結構小巧的特性使IPC(進程間通信)性能大大提高,進程通信效率較現(xiàn)有系統(tǒng)提升5倍
2、基于微內(nèi)核架構重塑終端設備可信安全。
鴻蒙OS采用全新的微內(nèi)核設計,擁有更強的安全特性和低時延等特點。微內(nèi)核設計的基本思想是簡化內(nèi)核功能,在內(nèi)核之外的用戶態(tài)盡可能多地實現(xiàn)系統(tǒng)服務,同時加入相互之間的安全保護。微內(nèi)核只提供最基礎的服務,比如多進程調(diào)度和多進程通信等。
3、鴻蒙OS將微內(nèi)核技術應用于可信執(zhí)行環(huán)境(TEE),通過形式化方法,重塑可信安全。
通過統(tǒng)一IDE支撐一次開發(fā),多端部署,實現(xiàn)跨終端生態(tài)共享。鴻蒙OS憑借多終端開發(fā)IDE,多語言統(tǒng)一編譯,分布式架構Kit提供屏幕布局控件以及交互的自動適配,支持控件拖拽,面向預覽的可視化編程,從而使開發(fā)者可以基于同一工程高效構建多端自動運行App,實現(xiàn)真正的一次開發(fā),多端部署,在跨設備之間實現(xiàn)共享生態(tài)。
參考資料來源:百度百科-華為鴻蒙系統(tǒng)
鴻蒙os所用的語言開發(fā)APP軟件,這個只有是內(nèi)部人員才能夠知道的,應該是一些計算機方面的c語言之類的或者是更高級的語言。
1、構建理念不同:谷歌的安卓系統(tǒng)主要出于移動終端以及智能電視、智能穿戴設備所考慮。華為的鴻蒙系統(tǒng)主要出于未來萬物互聯(lián)的角度,囊括了所有能夠接入物聯(lián)網(wǎng)的設備。并不僅僅局限于基于ARM架構的設備,甚至是基于X86或者其他更新架構的設備。
2、理念不同:導致系統(tǒng)復雜度、難易度不同,華為鴻蒙系統(tǒng)綜合性要高于安卓系統(tǒng)。
3、資源獲取的能力不同:華為的生態(tài)系統(tǒng)建設而困擾,物聯(lián)網(wǎng)將會為華為帶來大量的內(nèi)容資源。短期內(nèi)華為系統(tǒng)的生態(tài)建設將會被安卓系統(tǒng)所壓制,畢竟兩者不在同一個數(shù)量級。
擴展資料:
至于華為為什么要基于Linux開發(fā)自己的操作系統(tǒng),其實很容易理解。首先,它可以很好地與Android應用程序兼容。畢竟,Android也是基于Linux開發(fā)的,這解決了很大一部分的生態(tài)問題。
此外,紅夢是集計算機、手機、汽車等設備于一體的統(tǒng)一系統(tǒng),Linux在計算機領域的應用生態(tài)也很好,基于Linux來開發(fā),在計算機領域的應用生態(tài),也解決了很大一部分。