磁盘结构
一个磁盘由单个或多个盘片组成,每个盘片由内而外会被划分出多个同心圆, 单盘片上的同心圆称为磁道,所有盘片具有相同半径的磁道组成一个磁柱(cylinder)。 磁道会被进一步划分为等长的扇区(sector),扇区是磁盘进行存取操作的最小单位, 大小一般为 512B 或 4K。
任何存储设备都离不开寻址,磁盘常见的一种寻址方式称作 CHS(Cylinder, Heads, Sector)。 CHS 是一个三元组,我们可以记为 (C,H,S)。C即指磁柱,确定该值即可确定寻址目标处的半径; H指磁头,通过该值可以确定寻址目标所处的盘片;S指扇区,该值确定寻址目标在磁道上的哪段位置。
磁盘上的第一个扇区用作特殊目的,其中,64B 用来存储分区表,剩余空间用于存储 MBR(主要引导记录)。 磁盘分区表可存储 4 条记录,每条记录 16B ,用于记录对应分区的起始和结束磁柱(分区的最小单位为磁柱)。 1 条记录只能表示 1 个分区,那一个磁盘是不是最多只能划分为 4 个分区呢?当然不是! 在第一扇区分区表中记录的分区称为 主要分区, 为了支持更多的分区,我们可以在主要分区的开始扇区记录另外一张分区表,这样的分区称为 逻辑分区。 而被进一步分割成逻辑分区的主要分区称为 扩展分区。 另外,需要注意的是扩展分区最多只能有一个。
磁盘文件
在 Linux 下,我们怎么操作和引用磁盘呢?
在”一切皆文件”的 Unix 哲学下,当然是通过文件来引用磁盘。 Unix 中定义了七种类型的文件,而磁盘通常是块设备特殊文件。 它在 Linux 下的文件名一般是 /dev/sda, /dev/sdb 或 /dev/sdc。 注意,a/b/c 的后缀只与加载顺序有关。
各磁盘分区在系统下也有单独的名字与其对应。我们以 /dev/sda 为例。
/dev/sda1, /dev/sda2, /dev/sda3, /dev/sda4
表示磁盘的4个主要分区。
/dev/sda5
和其后的名称用于表示逻辑分区。
磁盘工具
Linux 有一系列用于磁盘管理的工具。
-
df
man page 上,df的作用为:report file system disk space usage。 意为:查看磁盘空间使用情况查看。但从 df 的输出,我们还可获得文件系统的挂载信息。
-
fdsik
fdisk 为磁盘分区表管理工具。我们可以利用它查看和划分磁盘分区。
-
mkfs
此命令用于创建 Linux 文件系统。
-
mount
挂载文件系统到指定目录。
«Previous: kbengine消息处理函数注册
»Next: Linux平台下的网络工具