對初學者而言,可以將內核與任務分開,標準的Linux內核通常駐留在內存中,每一個應用程序程序都是從磁盤運到內存上執行。當程序結束后,它所占用的內存就被釋放,程序就被下載了。在一個嵌入式系統里,可能沒有磁盤。有兩種途徑可以消除對磁盤的依賴,這要看系統的復雜性和硬件的設計。在一個簡單的系統里,當系統啟動后,內核和所有的應用程序都在內存里。這就是大多數傳統的嵌入式系統工作模式,它同樣可以被Linux支持。有了Linux,就有了第二種可能性。因為Linux已經有能力加載和卸載程序,一個嵌入式系統就可以利用它來節省內存。試想一個典型的包括一個大概8MB到16MB的Flash Memory和8MB內存的系統。Flash Memory可以作為一個文件系統。Flash Memory驅動程序用來連接Flash Memory和文件系統。作為替代也可使用Flash Disk,用工具軟件可把Flash Memory仿真為磁盤或部分。
![圖片點擊可在新窗口打開查看](http://www.dzsc.com/zuanti/aku/images/14.gif)
所有的程序都以文件形式存儲在Flash文件中,需要時可以裝入內存。這種動態的、根據需要加載的能力是支持其它一系列功能的重要特征:
1. 它使初始化代碼在系統引導后被釋放。Linux同樣有很多內核外運行的公用程序。這些通常程序在初始化時運行一次,以后就不再運行。而且,這些公用程序可以用它們相互共有的方式,一個接一個按順序運行。這樣,相同內存空間可以被反復使用以調入每一個程序,就象系統引導一樣。這的確可以節省內存,特別是那些配置一次以后就不再更改的網絡堆棧。如果Linux可加載模塊的功能包括在內核里,驅動程序和應用程序就都可以被加載。它可以檢查硬件環境并且為硬件裝上相應的軟件。這就消除了用一個程序占用許多Flash Memory來處理多種硬件的復雜性。
2. 軟件的升級更模塊化。你可以在系統運行的時候在Flash上升級應用程序和可加載驅動程序。
3. 配置信息和運行時間參數可以作為數據文件儲存在Flash上。