美文网首页
Linux磁盘与文件管理系统

Linux磁盘与文件管理系统

作者: 小小小小小台 | 来源:发表于2017-12-03 22:18 被阅读0次

    文件系统简介

    什么是文件系统?

        操作系统中负责管理和存储文件信息的软件称为文件管理系统,即文件系统。

    主要职能:

        · 文件存储设备(硬盘、U盘、SSD)的空间进行组织和分配

        · 文件存储并对存入的文件进行保护和检索


    不同操作系统所使用的文件系统

    文件系统运行流程:

    1. 磁盘分区 =》 2. 格式化 =》 3. 挂载


    磁盘分区

    1.1 为啥要磁盘分区?

    不对磁盘进行分区,无法利用磁盘进行存储,读取数据等操作

    1.2 如何分区?

    常用两个分区方式:MBR 和 GPT

    磁盘第一个扇区里面含有的重要信息我们称为MBR格式。

    第一个扇区512 Bytes会有这两个数据:

    · 主要开机记录区(Master Boot Record, MBR):可以安装开机管理程序的地方,有446 Bytes

    · 分区表(partition table):记录整颗硬盘分区的状态,有64 Bytes

    所谓的“分区”只是针对那个64Bytes的分区表进行设置而已,每个分区记录表记录了该区段的启始与结束的柱面号码。当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理

    ## 由于分区表所在区块仅有64Bytes容量,因此最多仅能有四组记录区,每组记录区记录了该区段的启始与结束的柱面号码。一分区用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过2TB。磁盘容量超过2TB以后,分区的起始位置也就无法表示了,所以MBR最大存储数据量级是2TB


    文件系统运行过程

    2.1 如何进行存储设备的空间组织和分配?以EXT2文件系统为例。

        linux文件一般含有文件权限和(rwx)和文件属性(拥有者、群组、时间参数)以及文件实际数据。

         文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到inode中一个文件占用一个inode,同时记录此文件的数据所在的block号码至于实际数据则放置到data block区块中。 另外,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括inode与block的总量、使用量、剩余量等。

         每个inode与block都有编号,而每个文件都会占用一个inode,inode内则有文件数据放置的block号码。

        文件系统先格式化出inode与block的区块,然后找到文件数据实际放置的block号码,之后再从磁盘中一次性读取相应位置的数据。

        Ext2文件系统的格式化时,创建多个区块群组,每个区块群组都有独立inode/block/superblock系统。独立的系统主要组成包括:Data Block、Inode Table、Inode对应表、区块对应表、档案系统描述、Superblock

        Linux下的ext2创建一个一般文件时,ext2会分配一个inode与相对于该文件大小的block数量给该文件。

    3.1系统通过挂载的信息可以找到挂载点的inode号码,此时就能够得到根目录的inode内容,并依据该inode读取根目录的block内的文件名数据,再一层一层的往下读到正确的文件名


    相关文章

      网友评论

          本文标题:Linux磁盘与文件管理系统

          本文链接:https://www.haomeiwen.com/subject/zpvabxtx.html