① android 版本 版本號 內核版本 基帶版本有什麼區別表示什麼意思
關於內核及版本號的知識!
Android, Google, 版本號, 衍生品, linux
Android操作系統是基於Linux開發的手機端操作系統,底層的linux內核只提供基本功能。Android的內核相當於Linux內核的衍生品,Google在上面加入了自己的一些東西。
大家拿出自己的手機,打開設置>>關於手機>>內核版本即可查看內核版本號。
官方1.5的內核版本號是2.6.27,當前2.1和2.2的內核版本號時2.6.29。
一、內核:
操作系統是一個用來和硬體打交道並為用戶程序提供一個有限服務集的低級支撐軟體。一個計算機系統是一個硬體和軟體的共生體,它們互相依賴,不可分割。計算機的硬體,含有外圍設備、處理器、內存、硬碟和其他的電子設備組成計算機的發動機。但是沒有軟體來操作和控制它,自身是不能工作的。完成這個控制工作的軟體就稱為操作系統,在Linux的術語中被稱為「內核」,也可以稱為「核心」。Linux內核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進程管理、文件系統、設備管理和驅動、網路通信,以及系統的初始化(引導)、系統調用等。
二、內核版本號:
一般可以從Linux內核版本號來區分系統是否是Linux穩定版還是測試版。以版本2.4.0為例,2代表主版本號,4代表次版本號,0代表改動較小的末版本號。在版本號中,序號的第二位為偶數的版本表明這是一個可以使用的穩定版本,如2.2.5,而序號的第二位為奇數的版本一般有一些新的東西加入,是個不一定很穩定的測試版本,如2.3.1。這樣穩定版本來源於上一個測試版升級版本號,而一個穩定版本發展到完全成熟後就不再發展。
以ME600官方1.5的版本號為例:2.6.27。2為主版本號,6為次版本號,27為末版本號。從次版本號的奇偶性來看,6為偶數,可知此內核版本為一個可以使用的穩定版本。27的末版本號,是錯誤修補次數。當然能夠作為手機的內核版本必須是一個穩定版本。
三、內核最新版本:
當前Linux內核的最新版本為2.6.39,詳情查看:http://www.kernel.org/
對於手機來說,一般官方發布的ROM中內核版本分別為:
1.5為2.6.27
2.1為2.6.29
2.2為2.6.32
2.3為2.6.35
3.0為2.6.36
3.1為2.6.36
② 安卓內核與rom有什麼區別
安卓內核與rom的區別:
1、android 的內核都是linux的內核。
(1)Android內核是基於Linux2.6內核的(目前最新開發版本是2.6.31),它是一個增強內核版本,除了修改部分Bug外,它提供了用於支持Android平台的設備驅動。
(2)AndroidBinder,基於OpenBinder
框架的一個驅動,用於提供 Android 平 台 的 進 程 間 通 訊 (IPC, inter-processcommunication)。
(3)源代碼位於drivers/staging/android/binder.c Android電源管理(PM),一個基於標准Linux電源管理系統的輕量級的Android電源管理驅動,針對嵌入式設備做了很多優化。
2、rom和每個手機廠商有關,每個rom都有對應手機型號、系統本版的驅動程序。
(1)安卓ROM是手機重新刷入系統的一個程序包,安卓系統在手機市場里佔有率很高,所以安卓ROM發展很快,國內比較知名的安卓ROM有米柚,樂蛙,網路雲,深度等。
(2)ROM是一種只能讀出事先所存數據的固態半導體存儲器。其是。通常用在不需經常變更資料的電子或電腦系統中,資料並且不會因為電源關閉而消失。
(3)ROM所存數據,一般是裝入整機前事先寫好的,整機工作過程中只能讀出,而不像隨機存儲器那樣能快速地、方便地加以改寫。ROM所存數據穩定,斷電後所存數據也不會改變;其結構較簡單,讀出較方便,因而常用於存儲各種固定程序和數據。除少數品種的只讀存儲器(如字元發生器)可以通用之外,不同用戶所需只讀存儲器的內容不同。
③ 安卓系統是基於linux內核開發的,兩者的具體區別是什麼為什麼安卓多用於移動設備而linux不是
安卓基於linux內核,但是針對移動設備做了更多的優化,所以安卓多用於移動設備。兩者區別如下:
一、主體不同
1、安卓系統:是一種基於Linux的自由及開放源代碼的操作系統。
2、linux內核:是一套免費使用和自由傳播的類UNIX操作系統。
二、應用不同
1、安卓系統:主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。
2、linux內核:是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟體、應用程序和網路協議。
三、特點不同
1、安卓系統:會同一系列核心應用程序包一起發布,該應用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是使用JAVA語言編寫的。
2、linux內核:繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
Android源碼編譯之後生成的是ramdisk.img、system.img和userdata.img。而內核源碼編譯完成之後生成的是ZImage。在一般情況下Android源碼是不帶有內核源碼的,但是帶有一個鏡像,這樣在編譯完Android源碼之後就可以模擬器啟動了,如果要更換系統的內核,此時將高版本的內核源碼進行編譯生成ZImage然後替換Android系統的的鏡像。這樣使用模擬器啟動之後就可以查看內核是否已經被刷新。
請注意,android源碼和kernel源碼是分開下載的
編譯android源碼
進入source目錄下,執行make 即可。
編譯完成後,可以在源碼目錄的out/target/proct/generic/目錄下看到編譯好的ramdisk.img、system.img和userdata.img了。
編譯內核源碼
新建Kernel/goldfish,在這個目錄下進行編譯
⑤ Android內核與傳統Linux內核有何變化
甲骨文軟體人才創新發展中心期待您的到來!
和標準的Linux內核一樣,Android內核主要實現內存管理、進程調度、進程間通信等功能。Android內核是在標准Linux內核的基礎上修改而成。為了適應嵌入式硬體環境和移動應用程序的開發,Android對標准Linux內核進行了一定的修改。經過與標准Linux內核源代碼進行詳細對比,可以發現,Android內核與標准Linux內核在文件系統、進程間通信機制、內存管理等方面存在不同。
文件系統:不同於桌面系統與伺服器,移動設備大多採用的不是硬碟而是採用Flash作為存儲介質,因此,Android內核中增加了標准Linux內核中沒有採納的YAFFS2文件系統。YAFFS2按層次結構設計,分為文件管理介面、內部實現層和NAND,簡化了其本身與系統的介面設計,能更方便地集成到系統當中。
進程間通信機制:Android增加了一種進程間的通信機制IPCBinder,Binder通過守護進程ServiceManager管理系統中的服務,負責進程間的數據交換。各進程通過Binder訪問同一塊共享內存,以達到數據通信的機制。從應用層的角度看,進程通過訪問數據守護進程獲取用於數據交換的程序框架介面,調用並通過介面共享數據,而其他進程要訪問數據,也只需與程序框架介面進行交互,方便了程序員開發需要交互數據的應用程序。
內存管理:在內存管理模塊,Android內核採用了一種不用於標准Linux內核的低內存管理策略。在標准Linux內核當中,使用一種叫做OOM(OutofMemory)的低內存管理策略;當內存不足時,系統檢查所有的進程,並對進程進行限制評分,獲得最高分的進程將被關閉。Android新增加了一種內存共享的處理方式Ashmem。通過Ashmem,進程間可以匿名自由共享具名的內存塊,這種共享方式在標准Linux當中不被支持。
經過分析,Android內核由標准Linux內核修改而來,因此繼承了Linux內核的各種優點,保留了標准Linux內核的主體架構。同時,Android按照移動設備的需求,在文件系統、內存管理、進程間通信機制、電源管理等方面進行了修改,添加相關的驅動程序和一些必要的新功能,但是與大多數精簡的嵌入式Linux操作系統相比,Android很大程度上保留了標准Linux的基本架構,因此,Android系統應用范圍更加廣泛,拓展性更強。
⑥ 請教大家,android手機中的 刷入基帶 刷入內核 刷入BL 刷入系統update.zip都是什麼意思它們有什麼區別啊
update.zip就相當於系統源程序
基帶主要決定了你手機的信號強弱和影響部分耗電。不同地區的移動信號是不同的,刷基帶就是替換現有的基帶刷入新的基帶,一版用於解決信號不好的問題
刷內核不一定是刷機,下好後,odin單刷pda刷入民間內核,這時你rom的內核已經改變了,已經root了,如果你感覺沒有原始內核好,你可以再下一個原始內核
BL是一種等級說明
BL等級說明:
BL=2,國行機只刷過國行0.26,1.11,2.5.0,2.6.0,2.10,2.11以及本人改版的底包的用戶(boot.sbf不視為底包)
BL=3,估計沒人還停留在這個高不成低不就的版本吧。2.1底包,版本號在2.51以上。
BL=4,絕大部分水貨2.2底包都是BL=4,泄露2.3.4-88也是BL=4。
BL=5,刷了國行2.3.4,國行2.12,泄露2.3.4-128,134以及工程機2.1底包的為BL=5
BL=6,刷了國行2.3.6的。
⑦ linux的編譯內核和編譯內核模塊有什麼區別
當然需要。。。
第一點,就是源碼樹中有相應的頭文件和函數的實現,沒有源碼樹,你哪調用去呢?(PC上編譯的時候內核有導出符號,系統中有頭文件,這樣就可以引用內核給你的介面了,但是只能編譯你PC上版本的內核可載入的模塊)。
第二個,內核模塊中會記錄版本號的部分,需要記錄版本號的原因是不同的內核版本之間,那些介面和調用可能會有比較大的差異,因此必須要保證你的代碼和某個特定的內核對應,這樣編譯出來的模塊就可以(也是只能)在運行這個內核版本的Linux系統中載入,否則一個很簡單的異常就會導致內核崩潰,或者你的代碼根本無法編譯通過(介面名變了)。
我上面說的是編譯模塊的情況,當然如果是把模塊直接編譯到內核當中去的話,那就不用說了,沒有內核源碼,你無法編譯內核。
⑧ 安卓的內核,底包,固件有什麼區別
底包?沒聽說過這種叫法,一般只聽過要求先刷某某基帶/RADIO或者某某rec版本。基帶/RADIO可以理解為是類似電腦的網卡驅動,電腦沒有網卡驅動,就無法聯網。手機基帶/RADIO有問題,就無法正確通信,處理信號。內核就是指的安卓的Linux內核,負責進程調度,內存管理,系統中斷,給上層應用提供API/ABI介面等功能。固件可以理解為操作系統本身,通常的固件應該包含了基帶/RADIO、內核和Rec環境。僅代表個人理解。
⑨ 驅動編譯進內核和編譯模塊的區別
LINUX 的內核編譯 1.編譯內核指的時通常的內核 2.應為內核可以將驅動和功能模塊動態的載入內核,所以在需要的時間把功能模塊 動態載入,所以就有了,內核模塊的編譯