【发布时间】:2015-12-15 00:18:09
【问题描述】:
在 LBA 之前,您只需拥有磁盘的物理映射,它最初在一台旧的 IBM-PC 兼容机器上看起来如下所示:
-
气缸数:(10 位)
- 0-1024 (1024 = 2^10)
-
磁头编号:(8 位)
- 0-256 (256 = 2^8)
-
扇区号:(6 位)
- 0 通常为“boot sector”保留(c-0,h-0,s-0)
- 1-64 (63 = 2^6 - 1) *0 保留
总 CHS 地址位: 24 位
过去平均(文件|块|扇区)大小为 512B。
来自wikipedia的示例:
512(bytes) × 63(sectors) x 256(heads) × 1024(cylinders) = 8064 MiB (yields what is known as 8 GiB limit)
当我在 LBA 公式中称为 heads-per-cylinder 时,我对 head 的实际含义感到困惑。这对我来说没有意义,因为据我所知,头部是 head,除非它是可移动媒体,否则每个 盘子 都有两个(顶部,底部)对于它的每个表面。
在我看来,将它们称为heads-per-disk 或heads-per-surface 会更有意义,因为圆柱体穿过整个磁盘(多个盘片)。
逻辑块寻址:
公式:A = (c ⋅ Nheads + h) ⋅ Nsectors + (s − 1)
-
A- 逻辑块地址 -
Nheads- 磁盘上的磁头数heads-per-disk -
Nsectors- 磁道上的扇区数sectors-per-track -
c,h,s- 是气缸、气缸盖、扇区号24-bits total (10+8+6)
看here上的第一个例子:
For geometry 1020 16 63 of a disk with 1028160 sectors CHS 3 2 1 is LBA 3150=(3× 16+2)× 63
几何:
- 气缸编号 - 1020 (0-1024)
- 头数 - 16 (0-256)
- 扇区号 - 63 (1-64)
这些几何如何将 CHS 编号映射到要在此公式中使用的 CHS 元组 (3,2,1)?
【问题讨论】:
标签: filesystems storage disk hard-drive sector