{eval=Array;=+count(Array);}

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問答專欄Q & A COLUMN

Linux系統(tǒng)是由什么語言編寫,安卓為什么是由Linux開發(fā)?

Dongjie_LiuDongjie_Liu 回答0 收藏1
收藏問題

9條回答

SegmentFault

SegmentFault

回答于2022-06-27 17:05

從事軟件開發(fā)多年,而且大多數(shù)情況都是在linux完成代碼的編寫,自從第一次接觸linux之后就再也離不開了,目前l(fā)inux系統(tǒng)主要用在服務(wù)器端以及開發(fā)者使用,針對消費者的大眾這塊還是非常稀少,linux內(nèi)核的代碼主要是C語言和匯編兩種編程語言完成,C語言本身語法沒有那么復(fù)雜,但靈活性極強非常適合性能要求極高,所以很多性能要求的系統(tǒng)都喜歡用C語言來完成。

linux社區(qū)已經(jīng)是開源社區(qū)里面祖師爺級別了,很多開源項目也都是基于linux開發(fā)的,linux衍生的產(chǎn)品線在全球范圍內(nèi)還是非常眾多,國內(nèi)很多系統(tǒng)國產(chǎn)化其實很多都是開源的linux來完成的,linux在服務(wù)器端占比已經(jīng)占據(jù)絕對性的優(yōu)勢了,而且在客戶端的占比也不低,安卓系統(tǒng)本身就是嫁接在linux上一套移動操作系統(tǒng),對于linux內(nèi)核做了一定程度的定制,使之能和安卓系統(tǒng)無縫對接,準確來講安卓不是由linux開發(fā),安卓本身編程語言是C++,java,C語言多種開發(fā)語言完成的,C語言主要實現(xiàn)和操作系統(tǒng)對接的部分,C++主要作為安卓的早期代碼,java不但參與到框架編寫中還會參與到安卓的應(yīng)用開發(fā)過程中。

安卓代碼早期java參與到框架設(shè)計中的比例非常高,后期為了性能安卓已經(jīng)慢慢向著C++邁進,畢竟用戶對安卓性能的要求越來越高,早期的安卓系統(tǒng)經(jīng)常性的出現(xiàn)假死狀態(tài),谷歌在這方面下了很大的力氣一直在持續(xù)的優(yōu)化過程中,加上本身硬件一直在提升,加上手機廠家也在持續(xù)不斷的努力,ucloud三星高端的手機的體驗上已經(jīng)不弱于蘋果手機。前陣子ucloud因為美國的實體清單已經(jīng)變相的把安卓系統(tǒng)一些優(yōu)劣宣傳了一下,同時ucloud推出的方舟編譯器也是針對java系統(tǒng)解釋性語言進行優(yōu)化,也是推動安卓性能提升一個重要措施。

安卓屬于宏內(nèi)核架構(gòu),所有的部件都集中在一起調(diào)配,隨著手機功能提升不斷提升,外圍的部件越來越多宏內(nèi)核架構(gòu)已經(jīng)顯示出來不足的之處,蘋果的手機之所以在性能上好于安卓系統(tǒng),很大一部分原因是采用的微內(nèi)核和宏內(nèi)核互相結(jié)合的方式,從架構(gòu)上區(qū)別于安卓系統(tǒng),最新的ucloud鴻蒙系統(tǒng)也是采用微內(nèi)核的架構(gòu),對于操作系統(tǒng)來講編程語言只是工具而已。

不懂的外行覺得懂很多編程語言就是高手的體現(xiàn),實際情況并不是如此,編程思想和編程框架才是軟件框架的關(guān)鍵,編程語言的差異在于語法,像操作系統(tǒng)這種大的工程已經(jīng)遠遠超過編程語言的限制了,安卓系統(tǒng)是在正確的時間點推廣出來的,開始推廣之初性能不是最好的,但一直在加強維護升級,逐漸在性能上距離蘋果系統(tǒng)近了,但由于本身集成的功能越來越多,在未來性能也是很大的一方面,對一個初級的程序員來講,首先從基礎(chǔ)的編程語言開始入手解決問題,也是無可厚非的事情,希望能幫到你。

評論0 贊同0
  •  加載中...
Markxu

Markxu

回答于2022-06-27 17:05

匯編語言和c語言編寫的

Linux是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。它主要用于基于Intel x86系列CPU的計算機上。這個系統(tǒng)是由全世界各地的成千上萬的程序員設(shè)計和實現(xiàn)的。其目的是建立不受任何商品化軟件的版權(quán)制約的、全世界都能自由使用的Unix兼容產(chǎn)品。

安卓為什么用Linux開發(fā)

因為是個系統(tǒng)就需要內(nèi)核。Android 本質(zhì)上是一個基于 Linux 內(nèi)核上面運行的 java 虛擬機。

手機上 WM 系統(tǒng)內(nèi)核是 WinCE ,Symbian 系統(tǒng)里面 Symbian 就是內(nèi)核,Nokia 的 S60 系統(tǒng)這個 S60 就是界面+功能函數(shù)庫。索尼愛立信之前的幾款手機也有 Symbian 的內(nèi)核,但用戶界面是 UIQ 。

Android 不過就是借助了 Linux 內(nèi)核作為系統(tǒng)的基礎(chǔ),配合自己的 Andriod 基礎(chǔ)二進制函數(shù)庫和一些開源軟件作為基礎(chǔ)功能支持,跑上自己的 Dalvik 虛擬機,實際看到的 Android 界面,其實是 Dalvik 虛擬機里面運行的 java 程序。

Android = Linux 內(nèi)核 + 功能函數(shù)庫 + Dalvik 虛擬機 + java 程序

從系統(tǒng)的開發(fā)分層和難度來說,既然有了開源的 Linux ,為什么還要自己去開發(fā)內(nèi)核?就好象大家玩的一些游戲,有 Windows 系統(tǒng)可以直接跑,沒有幾個廠家會去重新開發(fā)底層系統(tǒng)。就連游戲機,其實他的操作系統(tǒng)和功能庫也都是現(xiàn)成的,游戲開發(fā)者只需要根據(jù)系統(tǒng)的功能寫程序就可以了。

這樣很好的減少了開發(fā)難度和成本。

評論0 贊同0
  •  加載中...
liukai90

liukai90

回答于2022-06-27 17:05

先回答你第一個問題。Linux包括內(nèi)核和組件系統(tǒng)。主體內(nèi)核大部分是用C語言編寫的,還有部分是用匯編語言寫的,因為對于硬件上,匯編有更好的性能和速度。Linux的一些組件系統(tǒng)和附加應(yīng)用程序是用C、C++、Python、perl等語言寫的。

第二個問題。任何系統(tǒng)都需要內(nèi)核。Android 本質(zhì)上是一個基于 Linux 內(nèi)核上面運行的 java 虛擬機。LINUX 小巧,開源,成熟,安全是被安卓采用的原因。


評論0 贊同0
  •  加載中...
Charlie_Jade

Charlie_Jade

回答于2022-06-27 17:05

linux由c開發(fā),安卓底層內(nèi)核其實就是linux內(nèi)核

評論0 贊同0
  •  加載中...
bitkylin

bitkylin

回答于2022-06-27 17:05

Linux是由c語言編寫的,安卓操作系統(tǒng)分為安卓系統(tǒng)和Linux內(nèi)核兩部分,安卓系統(tǒng)上有java虛擬機,用戶軟件運行在java虛擬機上。

評論0 贊同0
  •  加載中...
kel

kel

回答于2022-06-27 17:05

c語言

評論0 贊同0
  •  加載中...
zhangxiangliang

zhangxiangliang

回答于2022-06-27 17:05

你也可以從win基礎(chǔ)上開發(fā)一個 好用不好用別人我用不用就另說了,,

評論0 贊同0
  •  加載中...
Scott

Scott

回答于2022-06-27 17:05

Linux系統(tǒng)是基于unix發(fā)展而來的,底層是由C語言編寫的

評論0 贊同0
  •  加載中...
PAMPANG

PAMPANG

回答于2022-06-27 17:05

linux用C語言和少量匯編語言寫的,至于為什么要基于linux,可能開發(fā)者希望讓安卓更快速的建立生態(tài)系統(tǒng),畢竟原代碼開放,又有谷歌當(dāng)金主

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<