uboot,linux kernel, android rom概念

名詞:image(鏡像) 

u-bootlinux

  全稱Universal BootLoader,u-boot是一種廣泛用於嵌入式系統中的Bootloader,Bootloader是在操做系統運行以前執行的一小段程序,經過它,咱們能夠初始化硬件設備、創建內存空間的映射表,從而創建適當的軟硬件環境,爲最終調用操做系統內核作好準備。Boot Loader的主要運行任務就是將內核映象從硬盤上讀到RAM中,而後跳轉到內核的入口點去運行,即開始啓動操做系統。系統在上電或復位時一般都從地址0x00000000處開始執行,而在這個地址處安排的一般就是系統的Boot Loader程序。android

linux kernelwindows

  Linux內核[kernel]是整個操做系統的最底層,它負責整個硬件的驅動,以及提供各類系統所需的核心功能,包括防火牆機制、是否支持LVM或Quota等文件系統等等,若是內核不認識某個最新的硬件,那麼硬件也就沒法被驅動,你也就沒法使用該硬件。安全

 

android rom

  其實就是安卓手機系統(安卓文件系統);安卓手機系統爲何叫ROM?能夠說不只僅是安卓系統叫作ROM,目前全部的手機系統,均可以叫作ROM(包括但不侷限於蘋果、塞班、黑莓)這是因爲ROM是隻讀內存(Read-OnlyMemory)的簡稱。特色是隻能讀而不能快速改寫。所以全部刷寫進不可改變或擦除的系統咱們均可以將之成爲ROM。網絡

 

 

uboot、內核、操做系統、根文件系統他們之間究竟是什麼關係?

  uboot是個引導啓動程序。BIOS自檢完成後就把電腦控制權交給uboot,由uboot來加載並引導操做系統運行。
  內核就是最最最核心的那部份。操做系統內核就是操做系統的最最最最核心的那些程序。新安裝的操做系統中,一些自帶的小工具啊,小遊戲啊,甚至連鍵盤鼠標控制功能,這些都不屬於內核。內核是不包括硬件驅動程序的。
操做系統就是控制計算機硬件的軟件系統。它與內核的區別是它包含硬件驅動和一些基本的實用功能。
  根文件系統這個名詞不多出如今windows中。在計算機存儲中,目錄結構都是以樹形結構表示的,根就是指這棵樹的根部。其餘全部目錄都是在這個「根」上面逐級分配而來。「根文件系統」由於你加了「系統」二字,因此能夠解釋爲是指「整棵樹」,整個「樹形結構的文件系統」
它們之間的關係是:BIOS自檢---uboot引導----加載內核----操做系統啓動---啓動完成,系統待機。這幾個步驟所須要用到的文件與程序什麼的所有存貯在文件系統中。在這幾個名詞來講,文件系統能夠獨立存在,但其餘幾樣則沒法脫離文件系統而存在。

 

 

內核和操做系統的關係?

  操做系統是一個用來和硬件打交道併爲用戶程序提供一個有限服務集的低級支撐軟件。
  內核指的是一個提供硬件抽象層、磁盤及文件系統控制、多任務等功能的系統軟件。內核是一個操做系統的核心,是操做系統最基本的部分。它負責管理系統的進程、內存、設備驅動程序、文件和網絡系統等,決定着系統的性能和穩定性。它是爲衆多應用程序提供對計算機硬件的安全訪問的一部分軟件,這種訪問是有限的,而且內核決定一個程序在何時對某部分硬件操做多長時間。直接對硬件操做是很是複雜的,因此內核一般提供一種硬件抽象的方法來完成這些操做。硬件抽象隱藏了複雜性,爲應用軟件和硬件提供了一套簡潔,統一的接口,使程序設計更爲簡單工具

PC機的啓動過程?性能

 

(1)部署:典型的PC機的BIOS程序部署在PC機主板上(隨主板出廠時已經預製了),操做系統部署在硬盤上,內存在掉電時無做用,CPU在掉電時不工做。spa

 

(2)啓動過程:PC上電後先執行BIOS程序(實際上PC的BIOS就是NorFlash),BIOS程序負責初始化DDR內存,負責初始化硬盤,而後從硬盤上將OS鏡像讀取到DDR中,而後跳轉到DDR中去執行OS直到啓動(OS啓動後BIOS就無用了)操作系統

 

典型嵌入式linux系統啓動過程?命令行

 

(1)典型嵌入式系統的部署:uboot程序部署在Flash(能做爲啓動設備的Flash)上、OS部署在FLash(嵌入式系統中用Flash代替了硬盤)上、內存在掉電時無做用,CPU在掉電時不工做。

 

(2)啓動過程:嵌入式系統上電後先執行uboot、而後uboot負責初始化DDR,初始化Flash,而後將OS從Flash中讀取到DDR中,而後啓動OS(OS啓動後uboot就無用了)

 

總結:嵌入式系統和PC機的啓動過程幾乎沒有兩樣,只是BIOS成了uboot,硬盤成了Flash。

 

android系統啓動過程?

 

(1)Android系統的啓動和Linux系統(前面講的典型的嵌入式系統啓動)幾乎同樣。幾乎同樣意思就是前面徹底同樣,只是在內核啓動後加載根文件系統後不一樣了。

 

(2)能夠認爲啓動分爲2個階段:第一個階段是uboot到OS啓動;第二個階段是OS啓動後到rootfs加載到命令行執行;如今咱們主要研究第一個階段,android的啓動和linux的差異在第二階段。

相關文章
相關標籤/搜索