Linux——bootloader、内核、文件系统的基本概念与关系理解

根据大牛的对话整理,仅用于参考学习:

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的运行,大家在串口终端里会看到打印这样的信息:

Linux——bootloader、内核、文件系统的基本概念与关系理解_第1张图片

从打印信息可以看到UBOOT检测内存,存储等设备,并且设置处理器等设备的时钟等等,uboot到最后干什么事情呢?它在等待你敲击任何键,让他停下来,如果你不敲击,就干什么呢,它就开始引导内核,也就是把zImage 那个文件拷贝到内存,并去运行,接着看内核的打印信息:

Linux——bootloader、内核、文件系统的基本概念与关系理解_第2张图片

你会看到内核不断的打印出各种外部设备的信息,说明它在对各种外设进行 驱动初始化,比如SPI、蓝牙、以太网等等,所有的驱动都在里面!最后干什么了呢?是的,就是挂载文件系统。

4、那么什么是文件系统?

文件系统玩过电脑的人都知道,就是类似windows的文件管理器

Linux挂载的文件系统和这个一样吗,是的!!这个时候问题来了,zImage,也就是Linux内核,它执行到最后,挂载一个文件系统,就能变出Android系统?实际上,Linux内核最后挂载那个文件系统,不仅仅是挂载,还要做什么呢,执行文件系统里的应用程序!执行着 。。。执行着。。。。执行了一个又一个应用程序。。。。Android的界面出来了!!实际上,你真的可以把Android看做Linux上面跑的一个应用程序!的确是,Android就是一个在Linux内核上跑的一个巨大应用程序!Android这个应用程序,就放在了Linux内核最后挂载的那个文件系统里面。

 

你可能感兴趣的:(Linux)