{eval=Array;=+count(Array);}
從事軟件開發多年,而且大多數情況都是在linux完成代碼的編寫,自從第一次接觸linux之后就再也離不開了,目前linux系統主要用在服務器端以及開發者使用,針對消費者的大眾這塊還是非常稀少,linux內核的代碼主要是C語言和匯編兩種編程語言完成,C語言本身語法沒有那么復雜,但靈活性極強非常適合性能要求極高,所以很多性能要求的系統都喜歡用C語言來完成。
linux社區已經是開源社區里面祖師爺級別了,很多開源項目也都是基于linux開發的,linux衍生的產品線在全球范圍內還是非常眾多,國內很多系統國產化其實很多都是開源的linux來完成的,linux在服務器端占比已經占據絕對性的優勢了,而且在客戶端的占比也不低,安卓系統本身就是嫁接在linux上一套移動操作系統,對于linux內核做了一定程度的定制,使之能和安卓系統無縫對接,準確來講安卓不是由linux開發,安卓本身編程語言是C++,java,C語言多種開發語言完成的,C語言主要實現和操作系統對接的部分,C++主要作為安卓的早期代碼,java不但參與到框架編寫中還會參與到安卓的應用開發過程中。
安卓代碼早期java參與到框架設計中的比例非常高,后期為了性能安卓已經慢慢向著C++邁進,畢竟用戶對安卓性能的要求越來越高,早期的安卓系統經常性的出現假死狀態,谷歌在這方面下了很大的力氣一直在持續的優化過程中,加上本身硬件一直在提升,加上手機廠家也在持續不斷的努力,ucloud三星高端的手機的體驗上已經不弱于蘋果手機。前陣子ucloud因為美國的實體清單已經變相的把安卓系統一些優劣宣傳了一下,同時ucloud推出的方舟編譯器也是針對java系統解釋性語言進行優化,也是推動安卓性能提升一個重要措施。
安卓屬于宏內核架構,所有的部件都集中在一起調配,隨著手機功能提升不斷提升,外圍的部件越來越多宏內核架構已經顯示出來不足的之處,蘋果的手機之所以在性能上好于安卓系統,很大一部分原因是采用的微內核和宏內核互相結合的方式,從架構上區別于安卓系統,最新的ucloud鴻蒙系統也是采用微內核的架構,對于操作系統來講編程語言只是工具而已。
不懂的外行覺得懂很多編程語言就是高手的體現,實際情況并不是如此,編程思想和編程框架才是軟件框架的關鍵,編程語言的差異在于語法,像操作系統這種大的工程已經遠遠超過編程語言的限制了,安卓系統是在正確的時間點推廣出來的,開始推廣之初性能不是最好的,但一直在加強維護升級,逐漸在性能上距離蘋果系統近了,但由于本身集成的功能越來越多,在未來性能也是很大的一方面,對一個初級的程序員來講,首先從基礎的編程語言開始入手解決問題,也是無可厚非的事情,希望能幫到你。
匯編語言和c語言編寫的
Linux是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。它主要用于基于Intel x86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟件的版權制約的、全世界都能自由使用的Unix兼容產品。
安卓為什么用Linux開發
因為是個系統就需要內核。Android 本質上是一個基于 Linux 內核上面運行的 java 虛擬機。
手機上 WM 系統內核是 WinCE ,Symbian 系統里面 Symbian 就是內核,Nokia 的 S60 系統這個 S60 就是界面+功能函數庫。索尼愛立信之前的幾款手機也有 Symbian 的內核,但用戶界面是 UIQ 。
Android 不過就是借助了 Linux 內核作為系統的基礎,配合自己的 Andriod 基礎二進制函數庫和一些開源軟件作為基礎功能支持,跑上自己的 Dalvik 虛擬機,實際看到的 Android 界面,其實是 Dalvik 虛擬機里面運行的 java 程序。
Android = Linux 內核 + 功能函數庫 + Dalvik 虛擬機 + java 程序
從系統的開發分層和難度來說,既然有了開源的 Linux ,為什么還要自己去開發內核?就好象大家玩的一些游戲,有 Windows 系統可以直接跑,沒有幾個廠家會去重新開發底層系統。就連游戲機,其實他的操作系統和功能庫也都是現成的,游戲開發者只需要根據系統的功能寫程序就可以了。
這樣很好的減少了開發難度和成本。
先回答你第一個問題。Linux包括內核和組件系統。主體內核大部分是用C語言編寫的,還有部分是用匯編語言寫的,因為對于硬件上,匯編有更好的性能和速度。Linux的一些組件系統和附加應用程序是用C、C++、Python、perl等語言寫的。
第二個問題。任何系統都需要內核。Android 本質上是一個基于 Linux 內核上面運行的 java 虛擬機。LINUX 小巧,開源,成熟,安全是被安卓采用的原因。
linux用C語言和少量匯編語言寫的,至于為什么要基于linux,可能開發者希望讓安卓更快速的建立生態系統,畢竟原代碼開放,又有谷歌當金主
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答