主要產品系列 |
事物總有個核心,復雜的事物總可以模塊化、層次化, 嵌入式Linux也如此。學習嵌入式Linux困難,主要因為涉及知識和概念過多,即比較復雜,所以學習嵌入式Linux的就需要找到核心,需要模塊化,需要進行層次劃分。
嵌入式Linux系統做模塊化處理就是可劃分為Bootloader(引導程序),Kernel(內核),fs(文件系統),Shell(命令行界面),Gui(圖形庫)和 Embeded Sql(嵌入式數據庫)等。以上就是嵌入式Linux系統的7個重要模塊,通過這些就可以開發出各種各樣的App(應用程序)。如上網用得網絡瀏覽器,播放歌曲的音頻播放器,播放電影的視頻播放器,各種游戲(如連連看)等等。
嵌入式Linux系統-- 引導程序,即Bootloader和PC的BIOS程序有些類似,最大的作是用來安裝系統,就像剛買的PC如果沒有安裝操作系統,就需要安裝操作系統,PC安裝Windows操作系統通常從光驅開始,按Fn鍵進入安裝模式,來讀取光盤并啟動安裝過程。嵌入式Linux和此類似,Bootoader啟動過程中按任意鍵(U-boot)進入安裝模式,只不過安裝不是從光驅讀取系統,而是從串口(UART)或者網口讀取系統。另外有個不同,PC安裝文件系統包含在系統之中, 嵌入式Linux系統操作系統和文件系統是分開的需要單獨安裝。
嵌入式Linux系統--內核,即Kernel,是Linux系統的核心,Kernel包含了驅動程序,網絡協議,內存管理,文件系統,進程管理等模塊,這些概念比較抽象,在Windows操作系統做程序開發會遇到類似的模塊劃分,如果只是Windows操作系統的應用者是很少需要有這些概念的,不過你的使用之中是用到了這些東西。如外擴的設備需要安裝額外的驅動,你就用到驅動程序這種東西了;打開office時你就用到了文件系統了;上網時用到了網絡協議;同時打開千千靜聽和計算器你就用到了進程管理。原來 嵌入式Linux系統的這些概念早就存在Windows操作系統之中,就像遇到一個似曾相識的人,想問一句“我們好像那里見過”。
嵌入式Linux系統--文件系統,即fs,是Linux系統的重要部分,文件系統主要實現的是文件夾和文件的操作(如創建、刪除、打開、關閉、讀寫等),這和Windows操作系統的文件系統比較相似。嵌入式Linux系統下文件系統模塊通常需要Kernel提供支持的,并包含Shell命令包,就是說 嵌入式Linux文件系統不光提供對文件操作的支持,還提供對Shell包的支持,你也許有疑問什么是Shell,請向下看。
嵌入式Linux系統--命令行,即Shell是操作系統的重要部分,當然也包括嵌入式Linux系統。在Windows操作系統下,打開“開始”點進“運行”輸入“cmd”按“Enter”鍵,你就進入了一個比較“土”的窗口界面,這個界面就是一個 Shell,輸入“ipconfig”你就可以看到本PC 的IP信息。嵌入式Linux系統也有一個類似的Shell,不過不是映射到本機(如ARM硬件板),而是映射到PC機的串口終端上(這里概念比較多,推薦記住“映射”“ARM板”、“PC機”、“串口終端”這幾個關鍵詞),就是說通過PC機的串口終端可以操作嵌入式Linux的Shell,如輸入“ifconfig”就可以查看ARM硬件板IP信息,這個和上面的“ipconfig”作用相同。
嵌入式Linux系統--圖形庫,即Gui是用來做圖形面的支撐庫。如Windows系統下的“桌面”,“桌面”上的圖標,都是用圖形庫來實現的。你用的手機顯示屏背景圖,顯示的電話號碼,短信也都是基于圖形庫來實現的。嵌入式Linux系統不一定用到圖形庫,所以圖形庫是嵌入式Linux系統可裁剪的模塊之一,目前流行的圖形庫有QT/miniGUI/GTK+2/MFC,其中除了MFC都可以用在嵌入式Linux系統下。
嵌入式Linux系統--嵌入式數據庫,即Embeded Sql,是嵌入式Linux系統另重要的一個可裁剪模塊,就是說有些嵌入式Linux系統產品可能用到,有些可能用不到,目前最流行的嵌入式數據庫就是 Sqlite。那么嵌入式數據庫到底做什么用,如果你了解數據庫,你可以把嵌入式數據庫看成是一個小型的、輕量級的數據庫。如果不明白,請設想一個班的成績單(表),對每個學生成績進行查看并做排名,那么做成績單就相當于存入數據庫,查看過程就相當于對數據庫進行搜索(檢索),查看的結果就像當于搜索(檢索)的結果,排名就相當于對數據庫成員按名次創建索引。說的簡潔點-“數據庫就是表和表的操作”。
希望如上解析,能讓你建立一些嵌入式Linux系統的概念。
聲明:本站部分內容根據互聯網資料整理而成,若侵犯您的權益,請聯系我們,我們會盡快處理。