31.创建文件系统 file system

在 MBR、EBR、OBR的区别和联系 博文中,介绍了硬盘是如何分区的。再次把硬盘的分区图贴到下面。
31.创建文件系统 file system_第1张图片

每一个分区可以有一个文件系统,不同的分区可以有不同的文件系统。
仿照Linux中的ext2文件系统来创建文件系统。

在一个分区中,先是引导块,然后是超级块,超级块是操作系统元信息的元信息。

操作系统的元信息包括:inode 位图,inode 数组,空闲块位图,根目录等。

31.创建文件系统 file system_第2张图片
31.创建文件系统 file system_第3张图片

空闲块就是用来创建文件和目录用的。

创建文件的本质就是创建目录项inode

创建文件系统就是,把超级块,空闲块位图, inode 位图, inode 数组, 根目录,在内存中创建出来,然后写到磁盘对应的分区。

步骤

  1. 根据分区 part 大小, 计算分区文件系统各元信息需要的扇区数及位置 。
  2. 在内存中 创建超级块,将以上步骤计算的元信息写入超级块。
  3. 将超级块写入磁盘。
  4. 将元信息写入磁盘上各自的位置。
  5. 将根目录写入磁盘 。
    31.创建文件系统 file system_第4张图片

你可能感兴趣的:(从0写操作系统)