事物總有個(gè)核心,復(fù)雜的事物總可以模塊化、層次化, 嵌入式Linux也如此。學(xué)習(xí)嵌入式Linux困難,主要因?yàn)樯婕爸R和概念過多,即比較復(fù)雜,所以學(xué)習(xí)嵌入式Linux的就需要找到核心,需要模塊化,需要進(jìn)行層次劃分。
嵌入式Linux系統(tǒng)做模塊化處理就是可劃分為Bootloader(引導(dǎo)程序),Kernel(內(nèi)核),fs(文件系統(tǒng)),Shell(命令行界面),Gui(圖形庫)和 Embeded Sql(嵌入式數(shù)據(jù)庫)等。以上就是嵌入式Linux系統(tǒng)的7個(gè)重要模塊,通過這些就可以開發(fā)出各種各樣的App(應(yīng)用程序)。如上網(wǎng)用得網(wǎng)絡(luò)瀏覽器,播放歌曲的音頻播放器,播放電影的視頻播放器,各種游戲(如連連看)等等。
嵌入式Linux系統(tǒng)-- 引導(dǎo)程序,即Bootloader和PC的BIOS程序有些類型,最大的作是用來安裝系統(tǒng),就像剛買的PC如果沒有安裝操作系統(tǒng),就需要安裝操作系統(tǒng),PC安裝Windows操作系統(tǒng)通常從光驅(qū)開始,按Fn鍵進(jìn)入安裝模式,來讀取光盤并啟動(dòng)安裝過程。嵌入式Linux和此類似,Bootoader啟動(dòng)過程中按任意鍵(U-boot)進(jìn)入安裝模式,只不過安裝不是從光驅(qū)讀取系統(tǒng),而是從串口(UART)或者網(wǎng)口讀取系統(tǒng)。另外有個(gè)不同PC安裝中文件系統(tǒng)包含在系統(tǒng)之中,嵌入式Linux系統(tǒng)操作系統(tǒng)和文件系統(tǒng)是分開的需要單獨(dú)安裝。
嵌入式Linux系統(tǒng)--內(nèi)核,即Kernel,是Linux系統(tǒng)的核心,Kernel包含了驅(qū)動(dòng)程序,網(wǎng)絡(luò)協(xié)議,內(nèi)存管理,文件系統(tǒng),進(jìn)程管理等模塊,這些概念比較抽象,在Windows操作系統(tǒng)做程序開發(fā)會(huì)遇到類似的模塊劃分,如果只是Windows操作系統(tǒng)的應(yīng)用者是很少需要有這些概念的,不過你的使用之中是用到了這些東西。如外擴(kuò)的設(shè)備需要安裝額外的驅(qū)動(dòng),你就用到驅(qū)動(dòng)程序這種東西了;打開office時(shí)你就用到了文件系統(tǒng)了;上網(wǎng)時(shí)用到了網(wǎng)絡(luò)協(xié)議;同時(shí)打開千千靜聽和計(jì)算器你就用到了進(jìn)程管理。原來嵌入式Linux系統(tǒng)的這些概念早就存在Windows操作系統(tǒng)之中,就像遇到一個(gè)似曾相識的人,想問一句“我們好像那里見過”。
嵌入式Linux系統(tǒng)--文件系統(tǒng),即fs,是Linux系統(tǒng)的重要部分,文件系統(tǒng)主要實(shí)現(xiàn)的是文件夾和文件的操作(如創(chuàng)建、刪除、打開、關(guān)閉、讀寫等),這和Windows操作系統(tǒng)的文件系統(tǒng)比較相似。嵌入式Linux系統(tǒng)下文件系統(tǒng)模塊通常需要Kernel提供支持的,并包含Shell命令包,就是說嵌入式Linux文件系統(tǒng)不光提供對文件操作的支持,還提供對Shell包的支持,你也許有疑問什么是Shell,請向下看。
嵌入式Linux系統(tǒng)--命令行,即Shell是操作系統(tǒng)的重要部分,當(dāng)然也包括嵌入式Linux系統(tǒng)。在Windows操作系統(tǒng)下,打開“開始”點(diǎn)進(jìn)“運(yùn)行”輸入“cmd”按“Enter”鍵,你就進(jìn)入了一個(gè)比較“土”的窗口界面,這個(gè)界面就是一個(gè) Shell,輸入“ipconfig”你就可以看到本PC 的IP信息。嵌入式Linux系統(tǒng)也有一個(gè)類似的Shell,不過不是映射到本機(jī)(如ARM硬件板),而是映射到PC機(jī)的串口終端上(這里概念比較多,推薦記住“映射”“ARM板”、“PC機(jī)”、“串口終端”這幾個(gè)關(guān)鍵詞),就是說通過PC機(jī)的串口終端可以操作嵌入式Linux的Shell,如輸入“ifconfig”就可以查看ARM硬件板IP信息,這個(gè)和上面的“ipconfig”作用相同。
嵌入式Linux系統(tǒng)--圖形庫,即Gui是用來做圖形面的支撐庫。如Windows系統(tǒng)下的“桌面”,“桌面”上的圖標(biāo),都是用圖形庫來實(shí)現(xiàn)的。你用的手機(jī)顯示屏背景圖,顯示的電話號碼,短信也都是基于圖形庫來實(shí)現(xiàn)的。嵌入式Linux系統(tǒng)不一定用到圖形庫,所以圖形庫是嵌入式Linux系統(tǒng)可裁剪的模塊之一,目前流行的圖形庫有QT/miniGUI/GTK+2/MFC,其中除了MFC都可以用在嵌入式Linux系統(tǒng)下。
嵌入式Linux系統(tǒng)--嵌入式數(shù)據(jù)庫,即Embeded Sql,是嵌入式Linux系統(tǒng)另重要的一個(gè)可裁剪模塊,就是說有些嵌入式Linux系統(tǒng)產(chǎn)品可能用到,有些可能用不到,目前最流行的嵌入式數(shù)據(jù)庫就是 Sqlite。那么嵌入式數(shù)據(jù)庫到底做什么用,如果你了解數(shù)據(jù)庫,你可以把嵌入式數(shù)據(jù)庫看成是一個(gè)小型的、輕量級的數(shù)據(jù)庫。如果不明白,請?jiān)O(shè)想一個(gè)班的成績單(表),對每個(gè)學(xué)生成績進(jìn)行查看并做排名,那么做成績單就相當(dāng)于存入數(shù)據(jù)庫,查看過程就相當(dāng)于對數(shù)據(jù)庫進(jìn)行搜索(檢索),查看的結(jié)果就像當(dāng)于搜索(檢索)的結(jié)果,排名就相當(dāng)于對數(shù)據(jù)庫成員按名次創(chuàng)建索引。說的簡潔點(diǎn)-“數(shù)據(jù)庫就是表和表的操作”。
-
嵌入式
+關(guān)注
關(guān)注
5071文章
19026瀏覽量
303502 -
Linux
+關(guān)注
關(guān)注
87文章
11232瀏覽量
208949
原文標(biāo)題:老司機(jī)講解嵌入式Linux系統(tǒng)基礎(chǔ)概念
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論