千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > NTFS文件系统的B+树结构与一般的B+树结构有什么区别?

NTFS文件系统的B+树结构与一般的B+树结构有什么区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-11 08:09:23 1696982963

一、NTFS文件系统的B+树结构与一般的B+树结构的区别

NTFS文件系统的B+树结构与一般的B+树结构的区别是NTFS文件系统的B+树结构是配合磁盘特性的,本来查询树使用多分支在内存里是没有意义的,只会导致读取了更多数据。但磁盘(或者说机械硬盘)的特性在于,多次随机读取效率远低于连续读取一大段数据,因为每一次都需要经过寻道。这样B树就被设计为用较少的次数读取磁盘,每次读取较大的块,从而优化整体查询。

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

卷(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+树。

延伸阅读:

二、什么是B树

B树是一种数据结构,用于在硬盘或其他非易失性存储介质上快速存储和访问大量数据。它是一种平衡树,其每个节点可以存储多个键值对,而不仅仅是一个。B树通常用于需要频繁读写的数据库或文件系统中,因为它可以减少磁盘的访问次数,从而提高了性能。

B树有以下几个特点:

每个节点可以存储多个键值对。这个数量通常称为节点的度数(degree)。

所有叶节点都在同一层级上。这有助于保持树的平衡,使得在任何一个节点到达叶子节点的路径长度都相同。

节点中的键值对是按照某种顺序排列的。这使得查找操作更加高效。

B树的高度相对于存储的关键字数来说非常小。因此,可以较快地定位到任何一个关键字。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT