回覆列表
  • 1 # 如同素質取消

    引導載入程式是系統加電後執行的第一段軟體程式碼。PC機中的引導載入程式由BIOS(其本質就是一段韌體程式)和位於硬碟MBR中的OS BootLoader(比如,LILO和GRUB等)一起組成。BIOS在完成硬體檢測和資源分配後,將硬碟MBR中的BootLoader讀到系統的 RAM中,然後將控制權交給OS BootLoader。BootLoader的主要執行任務就是將核心映象從硬碟上讀到 RAM 中,然後跳轉到核心的入口點去執行,也即開始啟動作業系統。 而在嵌入式系統中,通常並沒有像BIOS那樣的韌體程式(注,有的嵌入式CPU也會內嵌一段短小的啟動程式),因此整個系統的載入啟動任務就完全由BootLoader來完成。比如在一個基於ARM7TDMI core的嵌入式系統中,系統在上電或復位時通常都從地址0x00000000處開始執行,而在這個地址處安排的通常就是系統的BootLoader程式。 簡單地說,BootLoader就是在作業系統核心執行之前執行的一段小程式。透過這段小程式,我們可以初始化硬體裝置、建立記憶體空間的對映圖,從而將系統的軟硬體環境帶到一個合適的狀態,以便為最終呼叫作業系統核心準備好正確的環境。 通常,BootLoader是嚴重地依賴於硬體而實現的,特別是在嵌入式世界。因此,在嵌入式世界裡建立一個通用的BootLoader幾乎是不可能的。儘管如此,我們仍然可以對BootLoader歸納出一些通用的概念來,以指導使用者特定的 BootLoader設計與實現。在專用的嵌入式板子執行GNU/Linux系統已經變得越來越流行。一個嵌入式Linux系統從軟體的角度看通常可以分為四個層次:

    1、 引導載入程式。包括固化在韌體(firmware)中的boot程式碼(可選),和BootLoader兩大部分。

    2、 Linux核心。特定於嵌入式板子的定製核心以及核心的啟動引數。

    3、 檔案系統。包括根檔案系統和建立於Flash記憶體裝置之上檔案系統。通常用ramdisk來作為rootfs。

    4、 使用者應用程式。特定於使用者的應用程式。有時在使用者應用程式和核心層之間可能還會包括一個嵌入式圖形使用者介面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。

  • 中秋節和大豐收的關聯?
  • 請問“洞房”一詞出自哪裡,洞房原指什麼?