开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第20天,点击查看活动详情
一、根文件系统概述
发行版=内核+rootfs根文件系统。
- 根文件系统是特殊用途的文件系统。
- 根文件系统也必须属于某种文件系统格式,如ext3,ext4,FAT。
- 文件系统是一些代码,是一套软件。
这套软件的功能就是对存储设备的块(扇区)进行管理。
将这些扇区的访问变成了对目录和文件名的访问。
上层访问一个文件时,文件系统会将这个目录+文件名转换成对扇区号的访问。 - 不同的文件系统的差异就在于对这些扇区的**管理策略和方法不同,**譬如坏块管理、碎片管理。
二、根文件系统有什么文件
- bin,sbin:应用程序,shell命令集。
- home:用户目录。
- lost+found:回收站。
- opt:什么都没有,可以随便用。
- root:root用户目录。
- dev:dev目录下的设备文件。在linux中一切皆是文件,因此一个硬件设备也被虚拟化成一个设备文件来访问,在linux系统中/dev/xxx就表示一个硬件设备,我们要操作这个硬件时就是open打开这个设备文件,然后read/write/ioctl操作这个设备,最后close关闭这个设备。
在最小rootfs中/dev目录也是不可少的,这里面有一两个设备文件是rootfs必须的。 - sys和proc:和驱动有关的。属于linux中的虚拟文件系统。
- usr:用户文件的存放地。
- etc:运行时配置文件。
- lib:库文件。
三、VFS
- 虚拟文件系统
- 将对硬件设备的访问和对普通文件的访问给接口统一化。
将操作系统上层(应用层)对下层不同文件系统类型的访问细节给屏蔽掉了。 - /dev/目录下的设备文件都和VFS有关。