一、块设备
外存是一种块设备(block device),是指以固定大小的块(block)为单位进行读写访问的设备。这些设备以块为最小的访问单元,每个块都有一个唯一的地址。我个人理解,可以将一个块设备理解成以 block 为元素的线性数组。
其中 block 大小一般是 512 字节,也被叫作扇区 sector。其实这个大小对于现在的计算机有些太小了,所以往往这些 block 也会聚集成一个更大的单位,这里就会产生一些混乱,比如说这个更大的单位可以被叫作簇 cluster,也可以被叫作块 block。
块设备在 Linux 中显示为 /dev/
下的一个文件,他们命名往往是 xxy
,其中 y
是 a, b, c, d
这样的字母,用于表示相同设备的编号。而 xx
表示设备的种类:
hd
:指的是采用 IDE 磁盘接口的磁盘sd
:原本是 SCSI disk,SCSI 和 IDE 都是旧控制器协议,现在也只 SATA 接口的磁盘vd
:虚拟硬件设备,在一些虚拟化平台(如 KVM、QEMU、Xen)中,虚拟化主机的磁盘设备会被命名为vda
、vdb
、xvdc
等类似的形式。nvme
:NVMe 是 non-volatile memory express,它是一个主机控制器接口和存储协议,用于加速企业和客户端系统以及固态驱动器(SSD)之间的数据传输。它通过电脑的高速 PCIe 总线工作。总结就是一个比 SATA 快的固态硬盘设备。