Linux--根文件系统的解释

来源:互联网 发布:易语言编程有哪些书 编辑:程序博客网 时间:2024/06/05 01:35

    linux中有一个“根文件系统”,这个系统概念容易混淆,其他的文件系统容易理解,就是管理存储空间的系统,那么根文件系统的作用,却不是特别容易理解。

    一、根文件系统概念

   首先根文件系统也是一种文件系统,只不过它是一种比较特殊的形式,百科解释里说根文件系统是内核启动时 mount 的第一个文件系统,内核代码映像文件就保存在根文件系统中,而且系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内核中运行,我们要知道文件系统和内核是完全独立的两个部分,在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动linux操作系统的。这是为什么呢?

   这里就要简单概括一下操作系统内核的作用了,简单的讲:内核的核心作用是任务调度,它是一个智能调度器,可以理解成是一个 ”聪明的大脑“,但是现在的操作系统绝不仅仅只包含任务调度功能,还有很多外围的功能,举一个例子来说,假设Linux操作系统是一个人,一个能做很多事儿的人,那么内核就是这个人的大脑,但是如果只有大脑,没有心脏,四肢,这个人是不能发挥作用的,所以根文件系统就是作为一个人最基本的各种属性,比如能够接收命令(与别人沟通得到信息),然后执行一些简单的动作。各种各样的执行程序,其实就是这个人学到的各种技能。所以讲到这就能知道根文件系统的作用了。

   根文件系统之所以在前面有一个”根“,说明它是加载其他文件系统的”根“,那么如果没有这个根,其他的文件系统也就没有办法进行加载了。

   根文件系统包含系统启动时所必须的目录和关键性文件,以及使用其他文件系统得意挂载所必须的文件,例如:

  init进程的应用程序必须运行在根文件系统上;

  根文件系统提供了根目录”/“;

  linux挂载分区时所以来的信息存放在根文件系统/etc/fstab这个文件夹中。

  shell命令程序必须运行在根文件系统上,例如ls,cd等命令。

总之,一套linux体系,只有内核本身是不能工作的,必须要有rootfs(根文件系统)上的etc目录下的配置文件,/bin /sbin等目录下的shell命令,还有/lib目录下的库文件等,才能进行工作。就相当于一个聪明的调度员必须要借助手臂,指挥棒,口哨这些才能完美的实现调度。