当前位置:文档之家› 嵌入式linux简介

嵌入式linux简介


根檔案系統相關說明

ห้องสมุดไป่ตู้

Linux核心在系統啟動時的最後操作之一就是載入 根檔案系統。根檔案系統中存放了嵌入式系統使 用的所有應用程式庫以及一些需要用到的服務。 由於Linux受到UNIX系統發展的影響,Linux檔案 系統的組織和UNIX相同。 根檔案系統的結構 根檔案系統中每一個最上層目錄都有特定的用途 和目的。有些目錄是為了多用戶模式服務。在大 多數沒有用戶和管理員的嵌入式Linux中,建立一 個根檔案系統可以不考慮大部分在多用戶下需要 注意的問題,下表列出了根檔案系統頂層目錄大 致結構。
嵌入式linux簡介


LINUX是一個類似UNIX的作業系統,其程式碼是完全開 放的,核心功能強大,實現簡潔。它提供了類似UNIX的 編寫程式介面和系統應用,可以方便的將UNIX系統上的 應用程式,移植到Linux上運作。Linux核心支援多種體系 結構的處理器,包括目前流行的Intel x86,Motorola/IBM PowerPC,ARM,Compaq Alpha,Sun SRARC等處理器體 系結構。 要把Linux用於嵌入式環境,就必須修改Linux滿足嵌入式 系統的要求。主要集中在兩個方面:一是體積,二是即時 性。與目前上的眾多商業的RTOS(即時操作系統)相比, 嵌入式Linux擁有以下的特點:
嵌入式LINUX的可攜性

將LINUX移植到新的微處理器體系非常快 捷,一般是將其移植到一種新型的目標板, 其中包含有獨特的外部設計。大部分的核 心程式碼都是相同的,因為它們與微處理 器無關,所以移植的工作多集中在一些記 憶體管理及中斷處理程式上。一旦完成, 它們將非常穩定。
嵌入式LINUX的應用
JFFS2 日誌檔案系統:

JFFS2是專門針對快閃記憶體的檔案系統, 除了有日誌功能,還有負載平衡,垃圾收 集等,並且來源碼公開。
YAFFS2(Yet Another Flash File System)檔案系統


YAFFS2是一種和JFFSx類似的快閃記憶體 檔案系統,和JFFS2相比它減少了一些功能, 所以速度更快,而且對記憶體的佔用比較 小.YAFFS自已NAND晶片驅動,並且為嵌 入式系統提供了直接取用檔案系統的API。 除了上面介紹的檔案系統之外,還有 RAMDISK(一種基於記憶體的檔案系統), TrueFFS等等。
完全開放來源程式碼

嵌入式Linux開放來源程式碼,這使得學習, 修改,剪裁Linux成為可能,嵌入式系統的 設計者可以對嵌入式Linux進行二次開發, 去掉作業系統的附加功能,只保留必須的 作業系統功能,並且可以根據實際應用的 需要優化作業系統的來源程式碼,從而降 低整個作業系統開銷與消耗。
成本低
嵌入式檔案系統簡介


嵌入式檔案系統的結構與LINUX類似,目前常用的有 EXT2,CRAMFS,JFFS2,YAFFS2和RAM磁片檔案系統等。 為了更好的嵌入式系統選擇檔案系統,一般會考察檔案系 統的如下幾個特性: 可寫入 檔案系統是否可以被寫入? 可更新 系統重新啟動後,檔案系統是否能保持重新啟 動前的更改? 斷電可靠性 檔案系統在發生斷電的時候是否可以恢復原 資料? 可壓縮 檔案系統內容是否可被壓縮? RAM啟動 在掛載檔案系統前,其內容是否首先從記憶體 中提取到RAM中?

嵌入式系統的涵蓋面是非常廣泛的,其中, 家電市場包括機頂盒、數位電視、視訊電 話、家庭網路等資訊家電;工業市場包括 工業控制設備、儀器;商用市場包括掌上 電腦、受客戶機、POS終端等;通訊市場包 括WAP手機、無線PDA等。目前被廣泛看 好的是資訊家電市場,國內有很多開發廠 商正加大投入、開發和研製新的產品,嵌 入式LINUX將是他們首選的作業系統
設備驅動

設備驅動佔據了Linux核心很大部分。同其 他作業系統一樣,設備驅動為它們所控制 的硬體設備和作業系統提供介面。
檔案系統

Linux最重要的特性之一就是對多種檔案系 統的支援。這種特性使得Linux很容易地同 其他作業系統共存。檔案系統的概念使得 用戶能夠查看儲存設備上的檔案和路徑而 無須考慮實際物理設備的檔案系統類型。 Linux透明的支援許多不同的檔案系統,將 各種安裝的檔和檔案系統以一個完整的虛 擬檔案系統的形式呈現給用戶。
Linux的基本示意圖
Boot Loader

負責Linux核心的啟動,它用於初始化系統 資源,包括SDRAM。這部分程式碼用於建 立Linux核心運作環境和從Flash中裝載初始 化ramdisk
核心初始化

Linux核心的進入點是start_kernel()函數。 它初始化核心的其他部分,包括捕獲、IRQ 通道、調度、設備驅動、標定延遲迴圈, 最重要的是能夠fork “init”處理程序,以啟動 整個多工環境。系統應用函數/捕獲函數: 在執行完“init”程式後,核心對程式不再有 直接的控制權,此後,它的作用僅僅是處 理非同步事件(例如硬體中斷)和為系統應用 提供處理程序。

GPL協定保證了源自Linux的嵌入式Linux也 是開放來源程式碼的自由軟體,也就是說, 只要遵守GPL協議,嵌入式Linux作業系統 的來源程式碼可以自由獲得。另外,大多 數嵌入式Linux使用的開發工具也是遵守 GPL協議的,同樣可以免費獲得。
豐富的實用軟體支援

Linux作業系統是一個完整的、功能強大的 作業系統,提供了大量的實用程式和各種 各樣的應用軟體。這些軟體的正確性和有 效性都經過了實際應用檢驗,可以根據需 要,利用Linux提供的豐富的軟體支援,迅 速構建嵌入式應用的軟體環境。這樣可以 極大地減小嵌入式系統軟體發展的時間和 費用,提高系統的可靠性。
ROMfs檔案系統:

ROMfs是使用最多的檔案系統,它是一種簡 單、緊湊和唯讀的檔案系統。ROMfs順序儲 存檔資料,並可以在uClinux支援的儲存設 備上直接運作檔案系統,這樣可以在系統 運作時節省許多RAM空間
Cramfs 檔案系統:

Cramfs是針對Linux核心2.4之後的版本所設 計的一種新型檔案系統,也是壓縮和唯讀 格式的。它主要的優點是將檔案資料以壓 縮形式儲存,在需要運作的時候進行解壓 縮。由於它儲存的檔形式是壓縮的格式, 所以檔案系統不能直接在Flash上運作。雖 然這樣可以節約很多Flash儲存空間,但是 檔案系統運作需要將大量的資料複製進 RAM中,消耗了RAM空間。
相关主题