導航:首頁 > 操作系統 > 安卓與linux的關系

安卓與linux的關系

發布時間:2022-06-10 06:59:41

❶ 簡述linux android的區別和聯系

linux是一種操作系統,其實linux是一種內核。linux之父linus在1991年做出來的其實是linux的一個內核,GNU是一個開源組織,GNU提供了linux的軟體等,linux其實是GNULinux的簡稱。而Android是一個基於linux內核開發的操作系統,他們的內核在一定程度上是相同的。這個就是android和linux的關系,都是使用的linux的內核,其實所有的系統都和linux和unix有聯系的。蘋果的系統是基於unix開發的。了解更多linux系統的知識,linux各個版本,linux內核的關系建議參考www.linuxprobe.com。
linux是一種內核,安卓是基於linux內核開發的。linux系統是gnulinux的簡稱。這個就是關系。祝你好運,加油!!!

❷ 安卓與Linux有什麼關系沒安卓基於Linux嗎

有關系,安卓大體分為4層,最底層就是linux,然後是類庫層,FrameWork層,app層


❸ 請問安卓和linux 有什麼關聯

Linux與Androld的關系
雖然Android基於Linux內核,但是它與Linux之間還是有很大的差別,比如Android在Linux內核的基礎上添加了自己所特有的驅動程序。下面我們就來分析一下它們之間究竟有什麼千絲萬縷關系?
1 安卓為什麼會選擇Linux
成熟的操作系統有很多,比如Unix系統。但是Android為什麼選擇採用Linux內核呢?這就與Linux的一些特性有關了,比如:
(1)強大的內存管理和進程管理方案
(2)基於許可權的安全模式
(3)支持共享庫
(4)經過認證的驅動模型
(5)Linux本身就是開源項目
更多關於上述特性的信息可以參考Linux 2.6版內核的官方文檔,這便於我們在後面的學習中更好地理解Android所特有的功能特性。接下來分析Android與Linux真正的關系。
2Android不是Linu×
看到這個標題大家可能會有些迷惑,前面不是一直說Android是基於Linux內核的嗎,怎麼現在又不是Linux了?迷惑也是正常的,請先看下面幾個要點,然後我們將對每一個要點進
行分析,看完後你就會覺得Android不是Linux了。
①它沒有本地窗口系統
(1)它沒有glibc的支持
(2)它並不包括一整套標準的Linux使用程序
(3)它增強了Linux以支持其特有的驅動
1、它沒有本地窗口系統
什麼是本地窗口系統呢?本地窗口系統是指GNU/Linux上的X窗口系統,或者Mac OS的Quartz等。不同的操作系統的窗口系統可能不一樣,Android並沒有使用(也不需要使用)Linux的X窗口系統,這是Android不是Linux的一個基本原因。

2、它沒有glibc支持
由於Android最初用於一些便攜的移動設備上,所以,可能出於效率等方面的考慮,Android並沒有採用glibc作為C庫,而是Google自己開發了一套Bionic Libc來代替glibc。
3、它並不包括一整套標準的Linux使用程序
Android並沒有完全照搬Linux系統的內核,除了修正部分Linux的Bug之外,還增加了不少內容,比如:它基於ARM構架增加的Gold-Fish平台,以及yaffs2 FLASH文件系統等。
4、Android專有的驅動程序
除了上面這些不同點之外,Android還對Linux設備驅動進行了增強,主要如下所示。
(1) Android Binder基於OpenBinder框架的一個驅動,用於提供Android平台的進程間通信( InterProcess Communication,IPC)功能。源代碼位於

drivers/staging/android/binder.c。
(2) Android電源管理(PM) 一個基於標准Linux電源管理系統的輕量級Android電源管理驅動,針對嵌入式設備做了很多優化。源伐碼位於:
Ⅰ kerneUpower/earlysuspend.c
Ⅱ kernel/power/consoleearlysuspend.c
Ⅲ kernel/power/fbearlysuspend.c
Ⅳ kemel/power/wakelock.c
Ⅴ kernel/power/userwakelock.c
(3)低內存管理器(Low Memory Killer) 比Linux的標準的OOM(Out Of Memory)機制更加靈活,它可以根據需要殺死進程以釋放需要的內存。源代碼位於

drivers/staging/android/lowmemorykiller.c.
(4)匿名共享內存(Ashmem) 為進程間提供大塊共享內存,同時為內核提供回收和管理這個內存的機制。源代碼位於mm/ashmem.c。
(5) Android PMEM (Physical) PMEM用於向用戶空間提供連續的物理內存區域,DSP和某些設備只能工作在連續的物理內存上。源代碼位於drivers/misc/pmem.c。
(6) Android Logger -個輕量級的日誌設備,用於抓取Android系統的各種日誌。源代碼位於drivers/staging/android/logger.c。

(7) Android Alarm捉供了一個定時器,用於把設備從睡眠狀態喚醒,同時它還提供了一個即使在設備睡眠時也會運行的時鍾基準。源代碼位於drivers/rtc/alarm.c。
(8) USB Gadget驅動一個基於標准Linux USB gadget驅動框架的設備驅動,Android的USB驅動是基於gaeget框架的。源代碼位於drivers/usb/gadget/。
(9) Android Ram Console為了提供調試功能,Android允許將調試日誌信息寫入一個被稱為RAM Console的設備里,它是一個基於RAM的Buffer。源代碼位於drivers/staging/android/ramL console.c。
(10) Android timed device提供了對設備進行定時控制的功能,目前支持vibrator和LED設備。源代碼位於drivers/staging/android /timed_output.c(timed_gpio.c)。

(11) Yaffs2文件系統Android採用Yaffs2作為MTD nand flash文件系統,源代碼位於fs/yaffs2/目錄下。Yaffs2是一個快速穩定的應用於NAND和NOR Flash的跨平台的嵌入式設備文件系統,同其他Flash文件系統相比,Yaffs2能使用更小的內存來保存其運行狀態,因此它佔用內存小。Yaffs2的垃圾回收非常簡單而且快速,因此能表現出更好的性能。Yaffs2在大容量的NAND Flash上的性能表現尤為突出,非常適合大容量的Flash存儲。上面這些要點足以說明Android不是Linux。

❹ Android,ARM,Linux之間有什麼聯系

主要是硬體設計方面和軟體設計方面的關系, 整個平台需要3者搭配組成.
ARM是做CPU開發的, 然後以ARM CPU做內核的硬體需要一些操作系統;
其中就有android系統和linux系統對其的支持, 如藍光播放機的系統是基於linux開發的;
然後Android又是基於Linux內核開發的操作系統. 目前手機平板有很大一部分是使用的android系統.
手機平台藍光播放機等的主晶元CPU內核基本上均是基於ARM授權開發的.
補充:
android是google大神推出的新操作系統。
arm是一種精簡指令集的cpu,對立於傳統的復雜指令集cpu,如X86架構的。
linux也是一種操作系統,嵌入式與伺服器上占據絕對優勢,與windows二分天下
關系就是 android和linux都可以在arm上運行。

❺ 安卓和Linux是什麼關系安卓能運行Linux軟體為什麼說安卓是虛擬機環境虛擬機有什麼特點優

安卓一開始是使用的linux系統內核。linux操作系統內核,套上殼,加一些應用軟體,就是操作系統了。linux系統是用C語言寫的,被廣泛地移植到各種機器上。
虛擬機,就是一個虛擬的計算機硬體系統,有虛擬的CPU、指令集。運行時,將虛擬指令翻譯成實體機器指令執行。java語言就是運行的在虛擬機上的。使用虛擬機的好處,就是二進制代碼可以在任何實體機器上運行,真正跨平台;缺點是翻譯執行,效率比較低。
linux系統可以安裝在任何計算機、手機上面,移植比較簡單。但是應用軟體有限。

❻ 安卓是基於linux嗎

是的,這個是谷歌公司在Linux的基礎上開發的。現在華為的鴻蒙也是的。好處就是開源。《Linux就該這么學》有Linux命令

❼ 安卓與Linux有什麼關系

安卓不是linux
引用:
Linux Kernel的維護者Greg Kroah-Hartman宣布,將Android 代碼從 Linux kernel 代碼庫中刪除。這意味著,Linux Kernel的開發小組不認可Android的貢獻,兩者產生了沖突。
Greg Kroah-Hartman寫了一篇詳細的文章,解釋這個決定。下面就來看看,他是怎麼說的,以及Android到底是一個什麼樣的系統。在這之前,你最好知道Greg Kroah-Hartman是誰。他是目前Linux Kernel的核心開發人員,負責stable軟體包的發布。就是說,每一個新版本的Linux Kernel,都是經過他的手流出來的。此外,他還負責硬體驅動的部署。而他的手機就是HTC G1,每天都在使用。所以,他是絕對有資格談論這個問題的,他的看法代表了Linux社區對Android的看法。首先,他指出Android和其他的Linux發行版不一樣:「Google has taken the Linux kernel, and nothing else from a 「traditional」 Linux system.
Google只用了kernel,別的東西都沒用。」這就是說,與Ubuntu、Debian、Redhat這樣的傳統Linux發行版相比,只有系統的底層結構是一樣的,其他東西在Android里都不一樣,尤其是程序員編程介面是完全不同的。因此,Android應用程序都必須重新寫過,現存的Linux程序無法移植上去。所以,從嚴格意義上說,Android是一種全新的系統,它與Linux的距離,比Mac OS與Linux的距離還要遠。然後,Greg Kroah-Hartman肯定了Android這樣做的積極意義:
「Android also solves the problem that the phone manufacturers had been having for many years: a free version of Java and a unified application layer that programmers can write to that will work on all phone platforms that integrate it.
它解決了長期令手機製造商頭痛不已的問題:業界缺乏一個開源的Java虛擬機,以及統一的應用程序介面。現在,程序員只要寫一次程序,就能在各種手機硬體平台之上使用。」這段話解釋了,為什麼Android的應用程序,都必須用Java語言開發。因為不這樣做的話,沒法讓程序做到硬體無關。且慢,這真的是理由嗎?傳統的Linux系統,也並不依賴特定的硬體啊!只要把源代碼根據不同的平台,分別編譯一下,同一個程序不也照樣可以在不同的硬體架構、不同的Linux發行版中使用嗎?那麼,Android只採用kernel、只允許用java編程的真正原因,到底是什麼?台灣的科技網志MMDays一語道破真相:「Linux kernel的版權是GPL。
這下問題來了:如果你是硬體廠商,希望你的硬體能在 Linux kernel 下運作,那麼就必須要有驅動程序。如果驅動程序的程序代碼公開,等於硬體規格也公開的差不多了。許多廠商不願意這么做,所以就提供編好的驅動程序,但不提供原始碼。Android 的重點就是商業應用,Google採用了一些手法來繞過這問題。他們把驅動程序移到 「userspace」,也就是說,把驅動程序變成在 Linux kernel 上頭跑,而不是一起跑的東西,這樣就可以避過GPL。然後,在 kernel 這邊開個小門,讓本來不能直接控制到硬體的 「userspace」 程序也可以碰得到,這樣只要把」開個小門」的程序代碼公布就行啦。」看明白了嗎?這段話的意思是說,Google玩了一個花招,在kernel和應用程序之間,自己做了一個中間層,這樣就既不違反GPL許可,又能不讓外界看到廠商的硬體驅動和應用程序的源碼。這樣做或許有利於推廣Android,吸引廠商和軟體開發商的加入,但是也給Linux Kernel帶來了麻煩。Greg Kroah-Hartman直截了當說出了自己的不滿。「…any drivers written for Android hardware platforms, can not get merged into the main kernel tree because they have dependencies on code that only lives in Google』s kernel tree, causing it to fail to build in the kernel.org tree.
所有為Android寫的硬體驅動,都不能合並入kernel。因為它們只在Google的代碼里有效,在kernel里根本沒法用。
Because of this, Google has now prevented a large chunk of hardware drivers and platform code from ever getting merged into the main kernel tree. Effectively creating a kernel branch that a number of different vendors are now relying on.
由於這個原因,Google也從不把大量的硬體驅動程序和平台源碼向kernel提交。實際上,它創造出了一個kernel的分支,大量的開發者都依賴那個分支。」這就是Android乾的事情:它修改了Kernel,但是又不提供修改的細節,自己搞了一個封閉的系統。說得難聽一點,它利用了開源社區,要求開源社區為它做貢獻,卻又不願提供回報。所以,Linux Kernel就把Android踢出去了,真是再正常不過了。完整的文章在這里: http://hi..com/dongfengxiao/blog/item/5722821e3418da12403417e6.html/cmtid/a8b7f61b52f892dbad6e75a0

❽ Linux和安卓有什麼關系

Android是基於Linux內核的操作系統,
雖然Android基於Linux內核,但是它與Linux之間還是有很大的差別,比如Android在Linux內核的基礎上添加了
自己所特有的驅動程序。下面我們就來分析一下它們之間究竟有什麼關系?
一、Android為什麼會選擇Linux
成熟的操作系統有很多,但是Android為什麼選擇採用Linux內核呢?這就與Linux的一些特性有關了,這也是很多
教材反復講到的linux的重要特點。比如:
1、強大的內存管理和進程管理方案
2、基於許可權的安全模式
3、支持共享庫
4、經過認證的驅動模型
5、Linux本身就是開源項目
更多關於上述特性的信息可以參考Linux 2.6版內核的官方文檔,這便於我們在後面的學習中更好地理解Android
所特有的功能特性。接下來分析Android與Linux的關系。其實實際上選擇linux內核的手機系統很多,記得前幾年
就見過三星的一款linux內核的手機,並且那款手機保持了linux系統的大部分特徵,所以用起來感覺就像一個小巧
的linux系統。
二、Android對Linux的改動
原文作者說是「Android不是Linux」,關於這個觀點,要看讀者自己怎麼看了,如果說Linux是說的內核,那
Android自然不是Linux。如果Linux是指Linux發行版,那Android當然是Linux,否則ubuntu,Fedora等都不是
linux了。
Android對linux系統的改動主要有以下幾個方面:
1.它沒有glibc支持
由於Android最初用於一些便攜的移動設備上,所以,可能出於效率等方面的考慮,Android並沒有採用glibc作為
C庫,而是Google自己開發了一套Bionic Libc來代替glibc。
2.它並不包括一整套標準的Linux使用程序
Android並沒有完全照搬Liunx系統的內核,除了修正部分Liunx的Bug之外,還增加了不少內容,比如:它基於ARM
構架增加的Gold-Fish平台,以及yaffs2 FLASH文件系統(如果學習了嵌入式的話就會知道yaffs2 FLASH文件系
統已經在基於linux的很多嵌入式設備上採用了,技術已經非常成熟)等。
3.它沒有本地基於X服務的窗口系統
什麼是本地窗口系統呢?本地窗口系統是指GNU/Linux上的X窗口系統,或者Mac OX X的Quartz等。不同的操作系統
的窗口系統可能不一樣,Android並沒有使用(也不需要使用)Linux的X窗口系統(對原作者的這個觀點不是很贊
同,原文章這一點放在第一條,並說「這是Android不是Linux的一個基本原因」,這個不敢苟同,由於作者 沒有
指明android用的什麼顯示系統,我也不好說)。
4.Android專有的驅動程序
除了上面這些不同點之外,Android還對Linux設備驅動進行了增強,主要如下所示。
1)Android Binder 基於OpenBinder框架的一個驅動,用於提供 Android平台的進程間通信(InterProcess
Communication,IPC)功能。源代碼位於drivers/staging/android/binder.c。
2)Android電源管理(PM) 一個基於標准Linux電源管理系統的輕量級Android電源管理驅動,針對嵌入式設備做
了很多優化。源代碼位於:
kernel/power/earlysuspend.c
kernel/power/consoleearlysuspend.c
kernel/power/fbearlysuspend.c
kernel/power/wakelock.c
kernel/power/userwakelock.c
3)低內存管理器(Low Memory Killer) 比Linux的標準的OOM(Out Of Memory)機制更加靈活,它可以根據需要
殺死進程以釋放需要的內存。源代碼位於 drivers/staging/ android/lowmemorykiller.c。
4)匿名共享內存(Ashmem) 為進程間提供大塊共享內存,同時為內核提供回收和管理這個內存的機制。源代碼位於
mm/ashmem.c。
5)Android PMEM(Physical) PMEM用於向用戶空間提供連續的物理內存區域,DSP和某些設備只能工作在連續的物
理內存上。源代碼位於drivers/misc/pmem.c。
6)Android Logger 一個輕量級的日誌設備,用於抓取Android系統的各種日誌。源代碼位於
drivers/staging/android/logger.c。
7)Android Alarm 提供了一個定時器,用於把設備從睡眠狀態喚醒,同時它還提供了一個即使在設備睡眠時也會
運行的時鍾基準。源代碼位於drivers/rtc/alarm.c。
8)USB Gadget驅動 一個基於標准 Linux USB gadget驅動框架的設備驅動,Android的USB驅動是基於gaeget框
架的。源代碼位於drivers/usb/gadget/。
9)Android Ram Console 為了提供調試功能,Android允許將調試日誌信息寫入一個被稱為RAM Console的設備
里,它是一個基於RAM的Buffer。源代碼位於drivers/staging/android / ram_console.c。
10)Android timed device 提供了對設備進行定時控制的功能,目前支持vibrator和LED設備。源代碼位於
drivers/staging/android /timed_output.c(timed_gpio.c)。
11)Yaffs2 文件系統 Android採用Yaffs2作為MTD nand flash文件系統,源代碼位於fs/yaffs2/目錄下。
Yaffs2是一個快速穩定的應用於NAND和NOR Flash的跨平台的嵌入式設備文件系統,同其他Flash文件系統相比,
Yaffs2能使用更小的內存來保存其運行狀態,因此它佔用內存小。Yaffs2的垃圾回收非常簡單而且快速,因此能表
現出更好的性能。Yaffs2在大容量的NAND Flash上的性能表現尤為突出,非常適合大容量的Flash存儲。
上面這些要點足以說明Android不是Linux。學習應用Android一般圍繞Android的這些特有的部分展開,建議大家先復習一下Linux內核的基本知識,推薦《Linux就該這么學》。

❾ 安卓和Linux有什麼關系啊

安卓是基於Linux內核,但不是Linux操作系統。
「Android是一種以Linux為基礎的開放源碼操作系統,主要使用於便攜設備。

❿ Linux和安卓具體是存在什麼關系

安卓(Android)是一種基於Linux的自由及開放源代碼的操作系統。兩者是並存關系。

Android一詞的本義指「機器人」,同時也是Google於2007年11月5日宣布的基於Linux平台的開源手機操作系統的名稱,該平台由操作系統、中間件、用戶界面和應用軟體組成。

Android的系統架構和其操作系統一樣,採用了分層的架構。從架構圖看,Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。

2010年2月,Linux內核開發者Greg Kroah-Hartman將Android的驅動程序從Linux內核「狀態樹」(「staging tree」)上除去,從此,Android與Linux開發主流將分道揚鑣。

(10)安卓與linux的關系擴展閱讀

Linux大多數情況下指的是Linux發行版,即GNU/Linux發行版。它不僅包括Linux內核,還包括各種各樣的系統管理軟體或應用工具軟體,就好比Windows實際上是由NT內核與應用程序的組合一樣。

只不過巧合的是,Linux發行版的內核名字就叫Linux,時間長了,很多人就將Linux內核與Linux發行版混為一談。Linux發行版中的軟體通常只收錄經過開源社區審核過的開源軟體,或者經過商業機構審核的閉源軟體。

而安卓對應的則是Android/Linux,毫無疑問系統也是開源的,但問題就在於安裝在上面的軟體基本都是閉源的,而且針對這些軟體基本沒有審核機制。僅僅這一點就能說明安卓與Linux發行版是有比較大的區別的。

閱讀全文

與安卓與linux的關系相關的資料

熱點內容
北京文件夾加密多少錢 瀏覽:669
什麼是車鑒定app 瀏覽:64
戰地一私人伺服器怎麼買 瀏覽:497
陳天程序員 瀏覽:833
編譯原理如何運用到編程中 瀏覽:17
linux選擇資料庫 瀏覽:376
php兩個數組差集 瀏覽:978
迷你pdf閱讀器下載 瀏覽:433
做一個python小程序 瀏覽:655
pythonossystem和 瀏覽:645
win2008如何搭建ftp伺服器 瀏覽:53
安卓手機為什麼不翻牌 瀏覽:546
刪除pkpm及相關文件夾 瀏覽:481
房貸解壓銀行內部流程 瀏覽:734
安卓手機如何更改語音 瀏覽:601
android紅包實現 瀏覽:734
蘋果的nvme為什麼安卓不用 瀏覽:32
python輸入單詞統計個數 瀏覽:998
腳本軟體提取源碼 瀏覽:281
程序員能給自己的微信錢包刷錢么 瀏覽:73