• B+树在NTFS文件系统中的应用


    B+树在NTFS文件系统中的应用

    flyfish 2015-7-6

    卷(volume)
    NTFS的结构首先从卷開始。

    卷相应于磁盘上的一个逻辑分区,当你将一个磁盘或者磁盘的一部分格式化成NTFS,卷将被创建起来。

    一个磁盘能够有一个卷或好几个卷.NTFS独立的处理每个卷。


    卷相应的就是C盘,D盘,E盘等。

    簇(cluster)
    在一个NTFS卷中,簇的大小,或者说簇因子(cluster factor),是在磁盘管理程序MMC载入件格式化该卷的时候建立起来的。默认的簇因子随着卷大小的不同而不同,但它是物理扇区的整数倍。并且总是2的幂。(1个扇区,2个扇区,4个扇区,8个扇区)以此类推。


    簇因子被表示成一个簇中的字节数,比方512字节 1KB或者2KB。


    硬盘的读写以扇区为基本单位。NTFS的读写以簇为基本单位。

    NTFS在内部仅仅引用到簇一级,NTFS使用簇作为它的分配单位,从而保持它与物理扇区大小之间的独立性。

    逻辑簇号(Logical Cluster Number。LCN)
    LCN是从一个卷的開始直到结束的全部簇的一个编号。

    NTFS依赖于逻辑号(LCN)来引用物理位置。

    获取物理磁盘地址方法
    LCN乘以簇因子。从而得到卷上的物理字节偏移量。

    虚拟簇号(Virtual Cluster Number。VCN)
    VCN对同属一个文件的全部簇进行编号,从0到m。NTFS依赖于虚拟簇号(VCN)来引用一个文件内部的数据。


    VCN不必是物理上连续的。它们能够被映射到该卷上的不论什么LCN编号。

    主文件表(Master File Table)
    MFT是NTFS卷结构的核心所在。

    涉及到B+树。

    结构例如以下

    这里写图片描写叙述

    引用自《深入解析Windows操作系统》

  • 相关阅读:
    配置apache的文件访问路径
    php 常量const
    php接口interface的使用
    php 抽象类abstract
    php 面向对象三大特点:封装、继承、多态
    程序员的情怀《从前慢》木心
    php static静态属性和静态方法
    php面向对象的构造方法与析构方法
    关于php变量的赋值和引用的区别
    angular4.0微信oAuth第三方认证的正确方式
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7307726.html
Copyright © 2020-2023  润新知