块设备的结构及磁盘的结构
1、扇区
磁盘上的每个磁道被等分成若干个弧段,这些弧段便是磁盘的扇区。磁盘驱动器在向磁盘读写数据时,都是以扇区为单位。一般为512个字节,但也有1024或者2048个字节的。注意,即使程序只读取一个字节的数据,也应该传递一个扇区的数据。Linux系统中,扇区的大小都是512字节。内核模块中都是以512字节来定义扇区的。如果设备的扇区大小为2048字节,内核将其看成4个连续的扇区。
2、块
扇区是硬件设备传递数据的基本单位,硬件一次传送一个扇区到内存中。块是虚拟文件系统传递数据的基本单位。块的大小必须是扇区大小的整数倍,且不能超过一个页的大小。
3、段
一个段就是一个内存页或者内存页的一部分。段的大小只与块有关,必须是块的整数倍,且不超过一页。
4 扇区、块和段的关系
扇区是由物理磁盘的机械特性决定;块缓冲区由内核代码决定;段是由快缓冲区决定,是快缓冲区大小的倍数,但不超过一页。
说明: clipboard.png