3. 分区类型

3.1. 分区类型

分区被标记为用于存放特定类型的文件系统(不要与卷标混淆(参见第 6 节))。这样的文件系统可以是 Linux 标准的 ext2 文件系统或 Linux 交换空间,甚至是外部文件系统,如 (Microsoft) NTFS 或 (Sun) UFS。每个分区类型都有一个相关的数字代码。例如,ext2 的代码是0x83而 Linux 交换空间是0x82。要查看分区类型及其代码的列表,请执行/sbin/sfdisk -T

3.2. 外部分区类型

分区类型代码是任意选择的(您无法推断出它们应该是什么),并且它们是特定于给定操作系统的。因此,理论上,如果您在同一硬盘上使用两个操作系统,则相同的代码可能被用来指定两种不同的分区类型。OS/2 将其分区标记为 0x07 类型,Windows NT 的 NTFS 也是如此。MS-DOS 为其各种 FAT 文件系统分配了多个类型代码:0x01、0x04 和 0x06 是已知的。DR-DOS 曾使用 0x81 来指示受保护的 FAT 分区,在当时与 Linux/Minix 产生了类型冲突,但 Linux/Minix 和 DR-DOS 如今都不再广泛使用。

OS/2 将其分区标记为0x07类型,Windows NT 的 NTFS 也是如此。MS-DOS 为其各种 FAT 文件系统分配了多个类型代码:0x01、0x040x06是已知的。DR-DOS 曾使用0x81来指示受保护的 FAT 分区,在当时与 Linux/Minix 产生了类型冲突,但 Linux/Minix 和 DR-DOS 如今都不再广泛使用。

3.3. 主分区

基于 Intel 的系统上的分区数量从一开始就受到限制:原始分区表作为引导扇区的一部分安装,并且仅为四个分区条目保留了空间。这些分区现在称为主分区。

3.4. 逻辑分区

硬盘上的一个主分区可以被再次分区。这些是逻辑分区。这有效地使我们能够绕过历史上四个分区的限制。

用于容纳逻辑分区的主分区称为扩展分区,它有自己的文件系统类型 (0x05)。与主分区不同,逻辑分区必须是连续的。每个逻辑分区都包含指向下一个逻辑分区的指针,这意味着逻辑分区的数量是无限的。但是,Linux 对驱动器上任何类型分区的总数施加了限制,因此这实际上限制了逻辑分区的数量。在 SCSI 磁盘上最多总共 15 个分区,在 IDE 磁盘上最多总共 63 个分区。

3.5. 交换分区

计算机上运行的每个进程都会分配一定数量的 RAM 块。这些块称为页。在不久的将来处理器将引用的内存页集合称为“工作集”。Linux 尝试预测这些内存访问(假设最近使用的页将在不久的将来再次使用),并在可能的情况下将这些页保留在 RAM 中。

如果您的机器上运行的进程过多,内核将尝试通过将页写入磁盘来释放 RAM。这就是交换空间的作用。它有效地增加了您可以使用的内存量。但是,磁盘 I/O 比从 RAM 读取和写入慢大约一百倍。将这视为紧急内存,而不是额外的内存。

如果内存变得非常稀缺,以至于内核从一个进程的工作集中分页输出,以便为另一个进程分页输入,则称该机器正在抖动。一些读者可能不经意地经历过这种情况:硬盘疯狂地运转,但计算机慢得几乎无法使用。交换空间是您需要拥有的东西,但它不能替代足够的 RAM。有关确定您需要的交换空间大小的提示,请参阅第 4.4 节中的讨论。