嵌入式Linux和基於PC的Linux一樣嗎?

以前在教嵌入式Linux時,學生常問,“李老師,學習嵌入式Linux有什麼好的推薦書啊?”但我知道其實很多同學此前是學過Linux的。他們總覺得嵌入式Linux和基於PC的Linux有很大的區別。誠然,嵌入式Linux的環境和基於PC的Linux環境,乍看起來有很大的區別。例如,PC上的Linux基本上輸入有鍵盤、鼠標,輸出有顯示器。然而,嵌入式Linux的環境裏可能只有一個串口或者是網口。這導致了大家對學習嵌入式Linux有一個很大的誤區就是:跑嵌入式Linux和在PC上跑的Linux是完全不同的.

事實上,這完全是一個誤區。

無論是嵌入式Linux也好,還是我們的PC上用的Linux也好。本質上來講,它們的系統結構都是一致的。無論怎麼樣,都是bootloader + kernel + 根文件系統 (如果是ARM架構的系統的話,新版的內核啓動時還需要用到設備樹)。此外,在常見的命令行(準確講應該是shell)操作時,只要使用的shell是一樣的,那麼語法也是通用的。開始入門的話,建議學習最常見的shell之一bash。幾乎所有的Linux發佈版本中都會帶有bash的。因此,在學習shell命令時,我們只看用的是什麼shell。也就是說,不用管是嵌入式Linux還是PC上的Linux環境。 更近一步說,只要在Linux操作系統上的基於某種語言的應用編程,例如基於shell腳本、基於C語言、JAVA語言等等,在極大多數情況下,同樣的代碼經過正確的編譯器編譯或解析器解析後,在Linux系統中是都可以跑的。

注意,之所以說極大多數情況下,是因爲可能由於嵌入式Linux硬件環境本身的限制,例如CPU較慢、內存數量有限等原因,或者是編譯器的限制,導致一些原來在通用PC上可以跑的代碼,在嵌入式Linux環境中無法正常運行。但是,對於初入門的學習者而言,一開始請不用在意這些極少數情況。

敲黑板:

請放心大膽地在PC上盡情學習Linux的知識就好。你會發現,你在PC上學習的Linux知識的技能,在嵌入式Linux上幾乎都用得到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章