EDA365电子论坛网

标题: 什么是根文件系统(rootfs=RootFilsSystem) [打印本页]

作者: thinkfunny    时间: 2021-2-8 18:03
标题: 什么是根文件系统(rootfs=RootFilsSystem)

6 ~& b2 U4 n. e0 I" WLinux系统中的根文件系统,Root FileSystem,简称为rootfs;
1 v1 d- ~7 K( n) H9 B! I/ X% p, z/ L1 N5 w

5 D; |' n( L) z4 K8 w  U
. q" R  t, j5 \8 l" H关于rootfs,之前一直很迷惑,不知道所要表达的真正的含义;
, X* \4 Q  V$ L; J2 \
7 z& h+ r5 E& F; z5 s即便是通过buildroot自己建立了相关的rootfs之后,还是没能很明白的理解,到底rootfs是啥。1 m- A- ~% \- N2 j9 u# B
4 M$ u7 C# o' n7 P& K$ w
1 t! a# S* k2 z2 g3 D
' M8 H4 p; S0 K2 H4 F! X
现在,突然,有那么一点明白了。, z3 J, M1 O) G. m

% u4 X* w! J3 [1 G4 I" z% Orootfs,其实就是,针对特定的操作系统的架构,一种实现的形式;3 [% ]. Q% g+ w2 Q

; S% L  @8 c: F- |' v具体表现为,特定的文件夹,文件夹之间的关系,即组织架构,以及特定的各种文件;$ }- C5 y- D; ^3 K' |# l
( c% G1 L( v5 S
1 q- S" b' U0 N. e  i- d3 G
, ]* X  t1 }- f1 M* \' g
再详细解释为:1 a4 q% q1 u# z1 m: e. k+ R$ O0 L

, T+ B2 ]* K) \6 s/ lLinux中的rootfs,就是那些文件夹和文件,
5 a4 c6 X/ L: |% s% h" \* J. ]3 Z' y' R3 H+ ]
包括什么根文件目录’/’7 e$ S1 n  q/ |' X- j
2 x' v% t) g8 b6 t& ^2 Y1 j3 ?
系统相关的配置文件目录/etc+ \1 s$ o! j. F2 X5 [3 d6 Y

+ Z! p: M3 L/ E存放系统启动相关配置的/etc/init& K6 o5 ^2 J# Z; m) |# E  r
5 [5 Q6 U$ J) k- P, m; f
存放系统相关的工具 /sbin
. Z+ z8 s& G1 @( P( R) t. T3 D1 m1 g9 A2 t: Y( J! z
存在用户的工具/usr/bin
& `  h$ E' R4 D1 R2 ^
! w6 J$ D: Y# `2 S$ L等等,诸如此类的,文件夹和文件;9 K% A' }$ L8 q" P7 q! C
7 J- k) [4 D7 f3 t
( R' @* H' O5 q% J% w

  J+ \. R2 O2 x- f: q" Y而对应的,实际上,Windows系统中,貌似从来没听说过什么rootfs。7 L0 ]* t- q3 u9 s5 E# E
9 X/ r, g* S3 ^$ P
那是因为,实际上,Windows系统的拥有者Microsoft微软,可以说是,从来就没有给Windows操作系统开源,没有给你看源代码。6 J. [! G6 K+ K5 J, J

+ T- q# r9 Y# e' }4 @所以就没必要给你讨论内部的源代码的架构了。
3 o: j: [+ Y) X$ z: C4 C' f9 }" K4 ?
但是实际上,对应的,每个版本的Windows,我指的是从Windows 95/98/XP/Win7,这些版本的系统,很明显,有很多系统相关的文件夹和文件的。/ D/ t! i4 ]) y/ v2 y
3 ]/ t2 S( R9 h7 _0 @# ~8 l
比如:+ `% V( v% d/ ]  r0 p

8 X% J( ^2 \$ j1 x' I8 s6 L& x& b假设系统安装在C盘:
# K  x  m  B3 O6 O6 ]9 ^- [# y$ q0 u/ V2 m* A3 f) U; K, K
c:\windows\ 用于存放,系统相关的文件; P; g0 ]1 C/ j0 I( t/ r2 u

3 O* k0 O8 J* ?6 P; v9 ?c:\windows\system32 其中很多可执行文件(工具),都是系统相关的工具6 K& ~* Z' C5 ?- l$ A

' |. u) |. V, k  c0 yC:\Program Files 默认的软件安装目录,本身也存在了,操作系统自带的,很多已经安装好的软件,比如上网用的IE5 l% U/ T3 c& |' T
+ Y* c" u" p5 E; U  [( T
C:\Users (win7中有的,其他版本的windows也有类似目录)用处用于相关数据和配置
2 z' E8 o9 ?0 m
+ V2 \; E6 o+ M; W+ n5 f  }即,诸如此类的,各种系统相关的,且是固定的文件夹,文件,本质上,就是和Linux中的rootfs的概念,是想通的,一致的。' u$ o! j) a  s- U/ B
9 H0 b- ?8 K0 k) E4 }% Y
7 w  u& P* P& p& D$ l+ \

, F/ Q$ d5 m  z& S- K换句话说,如果你的操作系统类型定下来了,是Linux还是Windows,那么,和此操作系统相关的,系统级别的,固定位置的,文件夹和文件,都必须是存在的,否则,很可能,或者说必然,会导致操作系统出现无法正常运行,甚至无法启动等等问题。3 T6 ^: w5 O4 Z1 w( Y- `) o

0 G' f' ]# U/ G8 S. u$ H  p
9 v4 S1 z* h2 j) k! {" h1 U4 R5 b* z" a- s
所以,从这方面来说,所谓的rootfs,根文件系统,就是那些,能让操作系统正常运行的,文件夹和文件的大集合。  j0 Q# S5 }0 U) m
) m; x; @) ?1 j' Q
如此,才算对rootfs,有个相对感性和容易理解的解释。
作者: 刘工在呢    时间: 2021-2-8 18:36
讲的仔细                        




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2