互聯網科技愛好人
Android一直詬病多多,最為顯著的缺點是隨著使用時間的增長系統流暢性會下降。相比蘋果的iOS系統,Android給人的感覺是用一段時間就卡到不行。人們在想,難道就沒有可以取代Android的操作系統嗎?為什麼各大手機廠商不去自己研發適配自家機型的操作系統呢?
想開發一套操作系統門檻太多了:
首先,開發一個獨立操作系統的成本很高;其次,Android的生態已經很完善,隨便去挑戰結果很可能是死路一條;最後,研發操作系統這件事,雖然不是件“不可能完成的任務”,但也得靠有這方面實力的公司去做。
鴻蒙OS發佈時,餘承東亮出了四張牌:分佈式架構、天生流暢、內核安全、生態共享。就這四點,實際上已經“吊打”Android系統,彌補了後者很多的缺陷。
分佈式架構
能讓鴻蒙OS跨越很多終端,從手機到電視,到平板電腦,甚至到車載系統。Android不是也可以嗎?不一樣。鴻蒙OS的跨越性,意味著它可以同時兼容X86和ARM架構。而Android,通常會涉及一個“移植”的過程,比如放到車載端,就需要做個“大手術”。目前車載端的Android系統,本質上是把車機電腦當成一個平板電腦在用的。
天生流暢性
流暢性是鴻蒙OS碾壓Android的最大亮點。從某個角度看,鴻蒙OS可以看做是第二代移動操作系統,相較於第一代的代表Android,鴻蒙OS從很多方面進行了優化,而且是對底層的架構和整個操作系統運行規則的二次定義。
內核安全
餘承東所說的微內核。在操作系統領域,微內核的安全性被公認高於宏內核,因為在微內核架構中,內核空間與用戶空間是區分開來的。
生態共享
主要是針對開發者而言的。在鴻蒙OS的生態中,集成開發環境(IDE)支持一次開發多端部署,大大減少了開發者的開發難度和工作量。
stormsha
上乾貨,我寫過OS,編程語言一開始需要彙編語言(Nasm,GAS等),我本人習慣GAS,用匯編完成引導後,就可以跳入用C寫的內核,C和彙編其實是一回事,只是寫法不一樣,最後都是ELF格式的二進制文件。
啟動過程很簡單,一開始準備一個軟盤,Linux dd命令可以生成,第一扇區的最後2個字節分別是0x55和0xaa,鏈接器把程序入口放在第一扇區的0x7c00處,一開機BIOS自檢後就會跳入0x7c00處執行引導程序,至於為什麼是0x7c00,因為它是工業規範。
2、如上截圖是我用GAS +C寫的一個簡單的多任務操作系統(參考了tinix),引導過程用了Grub的multiloader協議,grub已經完成了A20地址線的初始化以及進入保護模式的GDT設置,而我們內核要乾的事,就是初始化timer,文件系統(廣義的文件,不僅僅是磁盤文件,所有的FD都是文件)、進程管理、系統調用、shell等等。 上圖的九九乘法表就是我在自己OS上看開發的一個應用程序demo,它跟內核是分開的。
最後,開發操作系統,最基礎的是彙編語言和C,其它的應用程序語言如java等還拍不上用場,而用C寫程序,還不能亂調用API,因為此刻你的OS裡可能都沒有實現標準的C語言運行時庫。 OS開發,最難的不是怎麼編程,而是如何實現各種工業規範
M小哥哥
感謝閱讀,很高興為你解答。
鴻蒙系統到底用的什麼語言編寫的?
看到這種嚴謹的問題時,我告訴自己不能去瞎猜,瞎寫,於是去網上查證了2個小時。找到了比較可靠的答案,分析如下。
張汝京博士是中芯國際的創始人,在中國半導體業界是絕對的權威人士。最近他接受採訪明確表示:華為的鴻蒙系統是“微內核設計”,完全推到重來,基於5G平臺,從新開發的系統。和以前安卓,IOS,完全不一樣,也不基於傳統的Linux宏內核和UNIX。(資料來源:微博.工信布)
這種“微內核設計”的鴻蒙系統,我認為很大可能是最基層的C和C++語言來編寫,因為歷史上目前出現的微內核系統基本都是這兩種語言來編寫。
這麼看來華為從2012年上馬的自主操作系統研發,確實是大招,非常用心,完全是從最底層的語言開發,誰也不能卡脖子。現在想想寓言“鴻蒙開天闢地”,簡直就是量身定做的名字!
如何評價鴻蒙系統?
鴻蒙系統是華為秘密研發幾年的操作系統,是戰略試武器,防止競爭對手卡脖子,是迫於無奈,防守反擊推出的。
但是我們根本不用擔心鴻蒙系統國內適配問題,很明顯它的特徵網上已經說的非常清楚了,兼容安卓,而華為也是安卓底層的主要貢獻者之一。這次鴻蒙系統會採用EMUI9.1上的方舟編譯器升級版本,可以得到快速優化適配,第三方廠家無論優化安卓還是無成本用方舟編譯器複製APP,都能迅速建立鴻蒙系統的生態。
鴻蒙系統最頭疼的是國外與谷歌微軟競爭,據悉谷歌新系統Fuchsia OS和華為鴻蒙系統一樣採用“微內核設計”,一樣打通手機,PC電腦,平板,等平臺,是不是覺得有些熟悉?沒錯這就是未來5G萬物互聯時代的系統特徵。而安卓系統以後會被拋棄。
如果未來某國不撤銷禁令,華為鴻蒙系統就會是谷歌新系統Fuchsia的直接競爭對手。谷歌的優勢是多年已經形成的各種生態優勢,華為系統的優勢是可以借載華為國外的5G硬件技術平臺。
根據華為內部員工爆料,華為不得不惜一切代價在國外建立生態,積極和國外第三方互聯網廠商合作。我感覺我是不是揭露了什麼秘密哈哈,在華為主宰的5G時代對鴻蒙系統的推廣是非常有利的。怪不得有國家著急了。
回答完畢,希望我的回答能幫助到你們。有不同看法的歡迎留言和關注。
解悟科技諸葛慕
中國人內戰內行外戰外行,一說到麒麟980就噴句架構是美國的,說得好象它們用的驍龍、聯發科處理器是自己研製似的,實際是華為買下永久使用權,就象買下房子屬私有財產,反觀高通和蘋果架構還是借用的。華為自己開發的達芬奇架構NpU麒麟810和鴻蒙操作系統,看它們又挖空心思發明什麼新名詞來噴,支持華為、京東方民族企業。
華為自研達芬奇架構的NPU!CPU(魔改)、GPU(公版)、NPU(自研)、ISP(自研)、DSP(自研)、基帶芯片(自研)!也只有海思和高通能做到!蘋果、三星、聯發科也是公版CPU魔改,那麼只剩GPU了,期待華為自研GPU早日到來!國內其手機廠商沒製作半塊芯片,只會撕裂喉嚨犬吼:安兔兔跑分。
麒麟810是用來輾壓驍龍730的並對外出售,除回應特朗普禁售驍芯片作出的強硬反制外,並打破麒麟處理器不外售的堡壘,第一批使用它的友商是360、中興、努比亞、魅族、酷派等。看華為發佈會是瞪大眼睛看新科技,小米是看性價比和安兔兔跑分吊打友商,藍綠廠是看小鮮肉擺型給記者拍照,蘋果是熟讀老三編看革命樣板戲。
美國向中國禁售芯片,如果華為不出手相救,友商全爬下。鴻蒙操作系統會兼容安卓系統,即現時安卓用什麼語音它用什麼
大公子影視特效製作
概念圖,大家覺得怎麼樣阿 ?
用戶145842987
鴻蒙、安卓、IOS的共同祖先是UNIX,而UNIX是C語言開發的,“鴻蒙”操作系統必然是C語言編寫的。“鴻蒙”操作系統提供給應用開發商的開發工具很可能是Java,下文具體說一說。
“鴻蒙”操作系統的組成
華為的“鴻蒙”操作系統由四部分部分組成:Linux內核+麒麟處理器的運行庫+編譯器+虛擬機。
Linux內核:Linux內核是開源的,由linux內核團隊維護,而linux的內核採用了C語言,而不是很多認為的C++,C語言的執行效率要遠高於面向對象的編程語言C++。
運行庫:運行庫在Linux基礎上,針對不同的處理器,運行庫需要進行適配。比如麒麟處理器指令集和高通處理器的指令集可能存在差異,不是完全相同,那麼就存在一個適配的問題,而程序庫通常情況下采用C語言編寫。
虛擬機:虛擬機用於溝通操作系統和硬件,是兩者之間的橋樑,屏蔽了不同系統之間的差異性,可以實現跨平臺,同時很大程度上降低了應用開發難度。目前,普遍使用的虛擬機是Java虛擬機。
編譯器:編譯器將Java編寫的代碼轉換成虛擬機機器碼或者硬件可以直接認識的機器碼。華為的方舟編譯器實現了代碼的靜態編譯,相比傳統安卓應用流暢度提升了60%。
“鴻蒙”和安卓的差異
鴻蒙操作系統兼容安卓應用,那麼“鴻蒙”操作系統和安卓有什麼區別呢?
1)架構不同
鴻蒙操作系統是微內核設計,而安卓系統是基於linux的宏內核設計,相比來說,微內核開發難度大,但是系統穩定性高。
宏內核,內核包含了操作系統絕大多數的功能,而且這些功能和模塊具有最高的權限,好處是系統開發難度低,但是各模塊具有最高權限,一個模塊出錯,整個系統崩潰,這也是安卓系統容易崩潰的原因。
微內核,內核僅包括了操作系統必要的功能模塊(任務管理、內存分配等),其他模塊不具有最高權限,系統穩定性得到了提升。
2)跨平臺支持
鴻蒙操作系統同時支持手機、電腦、智能穿戴設備、智能家居,形成一個無縫的、統一的操作系統,並且兼容所有的安卓應用。這個操作系統與谷歌正在研發的Fuchsia思路一致,是為5G和物聯網時代準備的,華為的“鴻蒙”操作系統提前發佈,可能給華為一個反客為主的機會,按照餘承東的說法“塞翁失馬,焉知非福”。
總之,華為的“鴻蒙”操作系統,底層(Linux內核、運行庫)是用C語言編寫的,虛擬機可能採用了C或者C++語言;面向應用開發商的開發環境很可能是Java語言。
Geek視界
根據華為公佈的方舟編譯器資料 可以推測鴻蒙系統是用C、C++語言編寫
先來看華為公佈的方舟編譯器原理圖
從上面的華為方舟編譯器資料可知:
1、鴻蒙系統和方舟編譯器的思路應該是一樣:直接使用機器語言編寫app,取消安卓系統的ART虛擬機,直接編譯為二進制機器碼;
這樣的好處是:不需要中轉,執行速度快;劣勢是:必須要有大量的靜態方案、內存空間要求更高。
2、由於是用C、C++進行編寫app,對軟件開發人員要求高,提高了建設生態鏈的技術門檻。
3、由於華為目前有芯片、系統等軟件和硬件基礎,華為鴻蒙系統若走蘋果IOS封閉系統模式,雖然路途漫長但前途可觀。
但華為主業是通訊,並非手機,這和蘋果主業是手機的特點不同。華為沒有辦法全身心投入開發封閉式的鴻蒙系統。
華為因為手機並非主業,只能走開源之路。但作為手機制造商的華為,如何讓其他手機制造商使用的系統,將是一個巨大的難題。
畢竟沒有一個手機制造商去幫助一個依是裁判員又是運動員的手機系統發展,導致自己的市場份額縮減。
可以預見的鴻蒙系統
1、除華為外其他國產手機公司不會安裝或重視。由於google禁售的是華為,對於小米等其他國產手機公司不禁售,因此小米等其他國產公司不會安裝鴻蒙系統,即便出於公共形象的壓力而安裝,也不會真正重視,最多就是做個樣子。
反正,內鬥內行吧——除非華為讓渡鴻蒙系統的控制權!
2、鴻蒙系統即便能夠兼容安卓應用,在過了新鮮期之後,如何提升用戶體驗度是關鍵。如果像阿里OS一樣可以遠程刪除用戶的app,就直接死翹翹吧。
保持軟件開發商的利益和用戶體驗度的平衡,是鴻蒙系統能否生存的關鍵。開發商沒有得到利益,不會開發鴻蒙系統的app;用戶體驗度差,用戶就不會用鴻蒙系統。
隨手關注,你的支持才是動力!
歷史哨聲
首先做一個科普:
什麼是計算機語言呢?
一般計算機語言分為機器語言和彙編語言還有高級語言!
1、機器語言就是二進制代碼,就是隻有0和1組成的代碼!有時候你在電腦上面打開一些文件,裡面只顯示了0和1,這些文件就是電腦可以直接執行的文件,現在一般都沒有什麼人去寫這個文件了,因為開發難度太大了!
2、彙編語言,這個語言就是把0與1的集合用特殊的字母或者符號來表示,比如01000001代表的是A,01100001代表a,所以人們就有字母和符號來表達一大堆的0與1,比如0100000101100001直接使用Aa來表示即可,所以彙編大大簡化了二進制代碼,給我們編寫代碼帶來了極大的方便!但是計算機是不認識這些字母和符號的,所以需要一個專門的程序來把這些字母和符號來轉換成0與1的代碼,計算機才會執行,這個轉換的程序就是編譯器!
3、高級語言,由於彙編語言代碼可讀性非常差,比如ADD表示加法,MOV表示數據傳輸,人為的創造出一些指令符號,讓人記憶起來非常的困難,雖然比0與1簡單多了,但是複雜的程序依然無法通俗易懂!比如c語言中的代碼段:int c=a+b;在彙編裡面就是
00401036 mov eax,dword ptr [ebp-4]
00401039 add eax,dword ptr [ebp-8]
0040103C mov dword ptr [ebp-0Ch],eax
顯然大型的項目開發起來效率就非常低了,所以高級語言就出現了,當然高級語言也還沒有達到我們一看就懂的地步,但是int c=a+b要比後面那一大串要容易理解的太多了!
所以現在c語言,Java,c#,PHP之類的都是高級語言!
瞭解了語言,我們再說說電腦!
電腦就是在生活中幫助人處理一部分事情都計算機集合!
比如說,一臺電腦可以幫我們處理文字,聲音,視頻,圖像等,要處理這些事情電腦需要一個cpu,內存,硬盤,主板,聲卡顯卡來控制,而這些內存cpu又是由各個晶片來控制的,這些晶片是有一個一個電容控制的,對應上面的語言,二進制代碼是控制各個電容,彙編控制著晶片,高級語言控制著這些設備!
這個時候操作系統就登場了,操作系統就是控制這些設備該什麼時候運行的程序!
所以操作系統是用高級語言編寫的!
操作系統大部分都是用c語言或者c++語言寫的,由於c語言是執行效率最高的高級語言,所以操作系統的關鍵代碼都是c語言寫的,c++是繼承了c語言的優點而發展出了的一個語言,運行速度不如標準的純c語言,但是c++的類庫比純c的要豐富,所以c++開發程序的效率要比C的效率要高一點,但是關鍵的代碼還是必須使用純C編寫,所以為了開發效率,一般都是C語言加上C++一起來結合起來開發的!
而華為這個系統也不能改變這個規律,所以就是用c語言來寫的!
因為c語言是所以高級語言的鼻祖,不存在任何版權問題!
這個系統要想做起來就必須要有自己的生態,簡單的說就是要有人在你的系統裡面開發app,如果這個鴻蒙系統可以兼容安卓蘋果微軟的app,那麼這個系統就可以飛起來了!但是難度很大!
小莫哥哥
收到頭條號推薦的問答,本人很高興為大家回答這個問題,希望通過我的回答給大家帶來幫助,這是我個人的見解與意見,如有不同意見,歡迎留言,我們共同探討,我們一起成長一起學習。
華為鴻蒙系統(HongmengOS或HomonOS,HMOS)是華為公司開發的專有操作系統。
2019年5月24日,國家知識產權局商標局網站顯示華為已申請“華為鴻蒙”商標。最重要的是,這個系統是中國取代美國在美國和中國的技術力量。
Hongmeng OS是基於Linux內核源代碼的開發。 OS實現代碼主要是C語言,內核提供的本機系統調用接口肯定也是C語言接口。上層APP應用程序與現有的Android JAVA程序兼容,可能需要重新編譯JAVA應用程序。程序代碼將運行。至於應用程序編程SDK不支持JAVA以外的編程語言,還需要等待系統正式發佈後才能發佈,但是你可以先了解下面的編譯器,據說這是一個業界開源編譯器,用於編譯APP程序。 。但是,我仍然希望鴻蒙操作系統的應用程序編程接口支持更多的編程語言(如CC等),這樣程序可以有更多的選擇。
以上是本人的一結關於這個問題的回答,根據本人學識與經歷寫成的,如有不成熟的地方望指正。同時,喜歡我的回答請給我點個贊和加關注吧。我衷心希望通過解答能夠幫助到朋友們。感謝頭條號,提供平臺,生活有您更精彩,還希望您好分享評論出來共同討論這話題。最後,真誠的祝天下的朋友們每時每時每刻無論工作生活都健健康康快快樂樂,家和萬事興,年年發大財,恭喜發財,謝謝!
科技業界
華為鴻蒙操作系統如果與安卓一樣,是基於Linux(開源)開發的,源碼是C語言,鴻蒙系統的編程語言不可能是本土的易語言、易安卓,很有可能是C語言、JAVA等。但是早期已經有消息稱,華為是基於谷歌的Fuchsia OS,谷歌也想以該系統取代問題頻發的安卓系統。Fuchsia不再使用Linux內核,而是Magenta內核(谷歌已經改名為Zircon),使用的開發語言是谷歌Dart語言。據悉,華為麒麟970處理器一直在與Fuchsia OS測試兼容性。
操作系統這個事,中國企業早晚得開發出來,否則用別人的總是提心吊膽的,只有自己掌握核心技術的自己研發出來的操作系統,使用起來心裡才踏實,雖然剛開始肯定不如成熟的蘋果,安卓系統啦,但中國有十四億的大市場啊,邊使用邊提高,逐步完善嗎,前幾年,微軟操作系統升級,把中國所謂的不是直接購買微軟系統軟件的,升級後通通都給黑屏啦,這就是教訓,看來確實是人家在後臺能控制你啊。
華為的“鴻蒙”操作系統由四部分部分組成:Linux內核+麒麟處理器的運行庫+編譯器+虛擬機。
Linux內核:Linux內核是開源的,由linux內核團隊維護,而linux的內核採用了C語言,而不是很多認為的C++,C語言的執行效率要遠高於面向對象的編程語言C++。
運行庫:運行庫在Linux基礎上,針對不同的處理器,運行庫需要進行適配。比如麒麟處理器指令集和高通處理器的指令集可能存在差異,不是完全相同,那麼就存在一個適配的問題,而程序庫通常情況下采用C語言編寫。
虛擬機:虛擬機用於溝通操作系統和硬件,是兩者之間的橋樑,屏蔽了不同系統之間的差異性,可以實現跨平臺,同時很大程度上降低了應用開發難度。目前,普遍使用的虛擬機是Java虛擬機。
編譯器:編譯器將Java編寫的代碼轉換成虛擬機機器碼或者硬件可以直接認識的機器碼。華為的方舟編譯器實現了代碼的靜態編譯,相比傳統安卓應用流暢度提升了60%。
“鴻蒙”和安卓的差異
鴻蒙操作系統兼容安卓應用,那麼“鴻蒙”操作系統和安卓有什麼區別呢?
1)架構不同
鴻蒙操作系統是微內核設計,而安卓系統是基於linux的宏內核設計,相比來說,微內核開發難度大,但是系統穩定性高。
宏內核,內核包含了操作系統絕大多數的功能,而且這些功能和模塊具有最高的權限,好處是系統開發難度低,但是各模塊具有最高權限,一個模塊出錯,整個系統崩潰,這也是安卓系統容易崩潰的原因。
微內核,內核僅包括了操作系統必要的功能模塊(任務管理、內存分配等),其他模塊不具有最高權限,系統穩定性得到了提升。
看到這種嚴謹的問題時,我告訴自己不能去瞎猜,瞎寫,於是去網上查證了2個小時。找到了比較可靠的答案,分析如下。
張汝京博士是中芯國際的創始人,在中國半導體業界是絕對的權威人士。最近他接受採訪明確表示:華為的鴻蒙系統是“微內核設計”,完全推到重來,基於5G平臺,從新開發的系統。和以前安卓,IOS,完全不一樣,也不基於傳統的Linux宏內核和UNIX。(資料來源:微博.工信布)
這種“微內核設計”的鴻蒙系統,我認為很大可能是最基層的C和C++語言來編寫,因為歷史上目前出現的微內核系統基本都是這兩種語言來編寫。
這麼看來華為從2012年上馬的自主操作系統研發,確實是大招,非常用心,完全是從最底層的語言開發,誰也不能卡脖子。現在想想寓言“鴻蒙開天闢地”,簡直就是量身定做的名字!
如何評價鴻蒙系統?
鴻蒙系統是華為秘密研發幾年的操作系統,是戰略試武器,防止競爭對手卡脖子,是迫於無奈,防守反擊推出的。
但是我們根本不用擔心鴻蒙系統國內適配問題,很明顯它的特徵網上已經說的非常清楚了,兼容安卓,而華為也是安卓底層的主要貢獻者之一。這次鴻蒙系統會採用EMUI9.1上的方舟編譯器升級版本,可以得到快速優化適配,第三方廠家無論優化安卓還是無成本用方舟編譯器複製APP,都能迅速建立鴻蒙系統的生態。