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操作系统》
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/flyfish1986/article/details/46777495