• NTFS文件系统


    一、Volume和Cluster

    卷(Volume)和簇(Cluster)是NTFS用来描述物理磁盘的单位。

    卷之间是相对独立的,卷的概念其实就是分区(Partition)。

    簇的引入是为了方便处理不同容量的卷,通常在格式化一个卷时,可以设定该卷的簇的大小的,默认值是根据卷的容量算出来的,容量越大,簇也划分得越大。

    簇划分得很大,优点在于降低维护成本,缺点在于会造成一定的空间浪费。

    二、NTFS与FAT的区别

    FAT磁盘中会保留特别的区域,用来保存与文件系统相关的元数据,根据元数据的每一条记录的尺寸,可以具体分成多种子类型,比如FAT16、FAT32等等;

    NTFS磁盘中没有这样特别的区域,而是把元数据也当成一个变通的文件对待,这样的好处在于,不必担心保留元数据的磁盘扇区物理损坏而造成的磁盘不可访问。

    NTFS对每个文件都有一个security descriptor,即每个文件都可以定义自己的安全属性及访问属性,而在FAT文件系统是做不到的。

    三、LCN与VCN

    NTFS的管理单元是簇,磁盘的物理簇号(LCN)用来标识某个簇在磁盘中的位置,按照从0递增的顺序依次存放在磁盘上。

    VCN是文件内部的逻辑簇号,一个文件数据太大,可能包含几个簇,那么会用逻辑簇号来标识某个簇在文件中的序号,这个VCN只在本文件内部有意义,一个文件的所有VCN不一定是物理上相连的,即它们对应的LCN可能散布在磁盘上。

    一个VCN会映射到一个LCN。

    四、MFT文件

    里面保存着文件记录(File Record)的数据。每个文件记录大小固定为1KB。

    通常,每个文件对应一个File Record,但是如果文件包含了太多的属性(Attribute),或者高度地碎片化(fragmented),那么可能需要多个文件记录来描述一个文件。

    非常驻属性会将数据保存在run中,文件记录中会保存每个run的VCN到LCN的映射以及该run的长度,知道了这些,我们就可以把该文件的所有VCN映射到LCN上。

  • 相关阅读:
    Coin-row problem(1139)
    算法的稳定性
    折半查找的实现(1010)swust-oj
    判断回文(0315)SWUST-OJ
    逆置单链表(0957)swust-oj
    单链表上查找算法的实现(0955) swust-oj
    单链表的插入操作的实现(0952)SUWST-OJ
    单链表的链接(0954)swust-oj
    单链表的删除操作的实现(0953)swust-oj
    ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(三)—用户账户及cookie配置
  • 原文地址:https://www.cnblogs.com/long123king/p/3415592.html
Copyright © 2020-2023  润新知