扇区、磁道、柱面和簇的介绍

一直以来对这几个概念非常模糊,最近看RamDisk(感觉WDF和WDM差距好大啊),就认真的看了下概念,嘿嘿。首先可以想象成一跟由很多圆形盘片组成的圆柱体。

磁道:Track,可以理解为一个圆形盘片由许许多多的同心圆组成,每一个同心圆可以认为是一个磁道。(硬盘是一个高速旋转的东西,当磁盘旋转时,磁头若保持在一个位置上不动,则磁头会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道)

扇区:Sector,可以联想到“扇形区域”,磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区的大小为512个字节,磁盘驱动器在向磁盘读取和写入数据时应该以扇区为单位。

柱面:Cylinder,硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的0开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。显然,磁盘的柱面数与一个盘面上的磁道数是相等的。

磁头:Head,当然是读取信息用的了。每个盘面都有自己的磁头,如果盘面的双面都记录信息,那么双面都应该有磁头。所以,硬盘的容量计算公式如下:硬盘的容量=柱面数×磁头数×扇区数×512(字节数)

SDK中定义了一个叫做DISK_GEOMETRY的结构体:

typedef struct _DISK_GEOMETRY
{
	LARGE_INTEGER Cylinders;
	MEDIA_TYPE MediaType;
	DWORD TracksPerCylinder;
	DWORD SectorsPerTrack;
	DWORD BytesPerSector;
} DISK_GEOMETRY;

硬盘结构图:扇区、磁道、柱面

其他信息以后补全:MBR、DBR等

猜你喜欢

转载自liuzhifu123.iteye.com/blog/1828078