根文件系统

118 阅读2分钟

​开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第20天,点击查看活动详情

一、根文件系统概述

发行版=内核+rootfs根文件系统。

  1. 根文件系统是特殊用途的文件系统。
  2. 根文件系统也必须属于某种文件系统格式,如ext3,ext4,FAT。
  3. 文件系统是一些代码,是一套软件。
    这套软件的功能就是对存储设备的(扇区)进行管理。
    将这些扇区的访问变成了对目录和文件名的访问。
    上层访问一个文件时,文件系统会将这个目录+文件名转换成对扇区号的访问。
  4. 不同的文件系统的差异就在于对这些扇区的**管理策略和方法不同,**譬如坏块管理、碎片管理。

二、根文件系统有什么文件

  1. bin,sbin:应用程序,shell命令集。
  2. home:用户目录。
  3. lost+found:回收站。
  4. opt:什么都没有,可以随便用。
  5. root:root用户目录。
  6. dev:dev目录下的设备文件。在linux中一切皆是文件,因此一个硬件设备也被虚拟化成一个设备文件来访问,在linux系统中/dev/xxx就表示一个硬件设备,我们要操作这个硬件时就是open打开这个设备文件,然后read/write/ioctl操作这个设备,最后close关闭这个设备。
    在最小rootfs中/dev目录也是不可少的,这里面有一两个设备文件是rootfs必须的。
  7. sys和proc:和驱动有关的。属于linux中的虚拟文件系统。
  8. usr:用户文件的存放地。
  9. etc:运行时配置文件。
  10. lib:库文件。

三、VFS

  1. 虚拟文件系统
  2. 将对硬件设备的访问和对普通文件的访问给接口统一化。
    将操作系统上层(应用层)对下层不同文件系统类型的访问细节给屏蔽掉了。
  3. /dev/目录下的设备文件都和VFS有关。