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

嵌入式LINUX系統(tǒng)
嵌入式Linux文件系統(tǒng)的研究與應(yīng)用
嵌入式linux系統(tǒng)的學(xué)習(xí)步驟
嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試

【嵌入式】構(gòu)建嵌入式Linux系統(tǒng)(uboot、內(nèi)核、文件系統(tǒng))

嵌入式Linux系統(tǒng)基礎(chǔ)概念

嵌入式linux編譯 ko,嵌入式linux:編譯linux驅(qū)動模塊

嵌入式Linux常用GUI系統(tǒng)

【嵌入式Linux(基礎(chǔ)篇)】從標準Linux到嵌入式Linux + 嵌入式Linux知識架構(gòu)

老司機講解嵌入式Linux系統(tǒng)基礎(chǔ)概念

Linux嵌入式系統(tǒng)開發(fā),嵌入式Linux開發(fā)教程

評論