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操作系统》