Linux——bootloader、內核、文件系統的基本概念與關係理解 >>>>> (學LINUX必備知識點)

根據大牛的對話整理,僅用於參考學習:

1、Linux 內核和文件系統 之間,什麼關係?沒有文件系統,Linux能運行不能運行?

        可以有也可以沒有,Linux這個操作系統,很奇怪!必須要掛一個文件系統!像有些操作系統,比如Vxworks就不需要,uCos也不需要,但是,Linux必須要掛個文件系統!!

2、Linux什麼時候掛載文件系統呢?是在一開始就掛載呢,還是最後才掛載?

        Linux是在運行的最後才掛載文件系統!Linux啓動到最後,等所有驅動初始化完成以後,最後一步才掛載文件系統,而這個文件系統就是Android系統!QT和Android系統一樣,都算是個文件系統,而QT和Android的底層都是 Linux內核。ubuntu也是這樣,也只是linux內核起來以後掛載的一個文件系統!幾套系統底層全是Linux內核,而這幾套系統又都是Linux內核起來以後掛載的文件系統。

3、開發板一開機以後先運行什麼?

      uboot,就是bootloader,uboot的運行,大家在串口終端裏會看到打印這樣的信息:

從打印信息可以看到UBOOT檢測內存,存儲等設備,並且設置處理器等設備的時鐘等等,uboot到最後幹什麼事情呢?它在等待你敲擊任何鍵,讓他停下來,如果你不敲擊,就幹什麼呢,它就開始引導內核,也就是把zImage 那個文件拷貝到內存,並去運行,接着看內核的打印信息:

你會看到內核不斷的打印出各種外部設備的信息,說明它在對各種外設進行 驅動初始化,比如SPI、藍牙、以太網等等,所有的驅動都在裏面!最後幹什麼了呢?是的,就是掛載文件系統。

4、那麼什麼是文件系統?

文件系統玩過電腦的人都知道,就是類似windows的文件管理器

Linux掛載的文件系統和這個一樣嗎,是的!!這個時候問題來了,zImage,也就是Linux內核,它執行到最後,掛載一個文件系統,就能變出Android系統?實際上,Linux內核最後掛載那個文件系統,不僅僅是掛載,還要做什麼呢,執行文件系統裏的應用程序!執行着 。。。執行着。。。。執行了一個又一個應用程序。。。。Android的界面出來了!!實際上,你真的可以把Android看做Linux上面跑的一個應用程序!的確是,Android就是一個在Linux內核上跑的一個巨大應用程序!Android這個應用程序,就放在了Linux內核最後掛載的那個文件系統裏面。

 

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