Linux系统中的根文件系统,Root FileSystem,简称为rootfs;
关于rootfs,之前一直很迷惑,不知道所要表达的真正的含义;
即便是通过buildroot自己建立了相关的rootfs之后,还是没能很明白的理解,到底rootfs是啥。
现在,突然,有那么一点明白了。
rootfs,其实就是,针对特定的操作系统的架构,一种实现的形式;
具体表现为,特定的文件夹,文件夹之间的关系,即组织架构,以及特定的各种文件;
再详细解释为:
Linux中的rootfs,就是那些文件夹和文件,
包括什么根文件目录’/’
系统相关的配置文件目录/etc
存放系统启动相关配置的/etc/init
存放系统相关的工具 /sbin
存在用户的工具/usr/bin
等等,诸如此类的,文件夹和文件;
而对应的,实际上,Windows系统中,貌似从来没听说过什么rootfs。
那是因为,实际上,Windows系统的拥有者Microsoft微软,可以说是,从来就没有给Windows操作系统开源,没有给你看源代码。
所以就没必要给你讨论内部的源代码的架构了。
但是实际上,对应的,每个版本的Windows,我指的是从Windows 95/98/XP/Win7,这些版本的系统,很明显,有很多系统相关的文件夹和文件的。
比如:
假设系统安装在C盘:
c:\windows\ 用于存放,系统相关的文件
c:\windows\system32 其中很多可执行文件(工具),都是系统相关的工具
C:\Program Files 默认的软件安装目录,本身也存在了,操作系统自带的,很多已经安装好的软件,比如上网用的IE
C:\Users (win7中有的,其他版本的windows也有类似目录)用处用于相关数据和配置
即,诸如此类的,各种系统相关的,且是固定的文件夹,文件,本质上,就是和Linux中的rootfs的概念,是想通的,一致的。
换句话说,如果你的操作系统类型定下来了,是Linux还是Windows,那么,和此操作系统相关的,系统级别的,固定位置的,文件夹和文件,都必须是存在的,否则,很可能,或者说必然,会导致操作系统出现无法正常运行,甚至无法启动等等问题。
所以,从这方面来说,所谓的rootfs,根文件系统,就是那些,能让操作系统正常运行的,文件夹和文件的大集合。
如此,才算对rootfs,有个相对感性和容易理解的解释;