关于磁盘扇区大小如何统一为 512B 以及 chs 地址 bit 分配的菜鸟问题

image
早期的磁盘好像就是上图这种按角度划分扇区,每个扇区都定义为 512B,但是我感觉每个扇区的大小不一样,外圈扇区每个明显都能装更多东西,内圈也大小不一,如果每个都是 512B 那么厂商不觉得浪费空间吗,而且外圈扇区面积这么大它是靠减少有磁性的区域来做到都是 512B 的吗?

早期 IBM PC 的 BIOS 使用 24bit 的 CHS 地址,其中 10bit 柱面 (C)、 8bit 磁头 (H)、 6bit 扇区 (S)。从而用物理 CHS 寻址方式的软盘和硬盘驱动器最多可以寻址 1024 个柱面,256 个磁头, 63 个扇区(粘贴于 柱面-磁头-扇区寻址的一些旧事 - Farseerfc的小窝

为什么 CHS 地址里的磁头的数量和柱面的数量都比扇区多得多啊?比如上图一个磁道上就有 12 个扇区,一个磁柱上至少也有 48 个往上的扇区,图中一个磁盘一面总共就 15 个磁道也就是说整个硬盘才 15 个柱面,但是 15 个柱面里扇区已经有 720 往上个了,而且一张磁盘总共就两个磁头,它给磁头和柱面留这么多记录空间而扇区却少的可怜,我不明白意义是啥,硬盘也没这么多磁头啊…

CHS 寻址最早在伺服系统位于电机和步进磁头的软盘时才真正有意义, 在硬盘上早早早就淘汰了,一般较旧硬盘上看到的 CHS 信息都是没有直接意义的,到后来所有硬盘直接变成线性的 LBA 寻址。
现在一般关注点在扇区对齐位置上,4K 高级格式对齐位置必须在 8 个扇区位置,习惯是从 1048576 开始,并满足每个分区都符合这个条件。

最近在看命令行菜鸟教程教程里关于磁盘的原理和管理的部分,感觉不搞明白这些底层实现原理的话一直都是蒙蒙的状态(因为不搞明白 chs 的话上面的教程里关于 lba 的部分我看不懂。。。)。虽然看不懂扇区对齐位置是啥但谢谢回复。

你为什么需要了解这部分过时内容啊?

因为关于硬盘的原理我就只听菜鸟命令行教程里提过两句,里面说磁盘所有磁区都是 512B,但一直不明白(这个应该是最基础的最重要的概念之一),所以我一直觉得对于磁盘的原理蒙蒙的,之前论坛上问了之后看了上面这篇博文,发现 chs 的原理我没看懂,后面 LBA 也看不懂,因为它是基于上面 chs 来讲的。
我看这篇文章本来想把磁盘的原理搞明白,但又卡在 chs 这里了,总之就是贼难受,也没法往下看。

一直搞不懂磁盘的原理感觉后面学分区和格式化之类的章节总还是蒙蒙的,总之就是觉得如果不把硬盘这么重要的东西的底层原理搞清楚我对于电脑和 Linux 命令行磁盘章节各种东西的学习都建于浮沙之上(不懂 chs 就没法通过上面的文章了解现在 LBA 磁盘的原理,不懂为何都是 512B 就感觉整个从零开始懵逼)。

学习命令行我目前感觉最重要的是要了解各种硬件和系统的原理,这些都是相对于软件底层的东西,但是不明白这些就只会敲个命令了,而且还无法深入操作(比如规划硬盘分区,磁盘重组啥的)。512B 整个概念对我来说就相当于所有硬盘最最基础的底层,LBA 对我来说也是重要的底层原理。

你要认清自己学习的边界,linux 已经替你抽象好了,硬件上的东西就不要在去学习了

我不理解你说的,但是在我的经验和认知里硬件是学习电脑非常重要的一部分,之前我看了一个叫《Linux 命令行大全》的书,里面没有说明命令行和电脑任何基础的原理(硬件和操作系统),我只会敲个命令。
我发现我在后来了解了电脑硬件的最基本的知识后我才对整个 Linux 系统和电脑有了深入一点的了解,有点如梦初醒的感觉。
我觉得无论学习 linux 命令行还是计算机网络的原理硬件都是必不可少的一部分,不了解最基础的东西我感觉学啥都很懵(包括一些历史和由来吧)。
至少看完这些文章后我是有所体会,对于从零开始不懂电脑的我这些基础底层的介绍有很大帮助。

那你也别学古代的知识了啊。

这个 YouTuber 还有很多计算机相关的「How it works」视频。

我曹感谢大佬,我英文好了之后就回来看看。。。

你看完英语就好啦(其实可以用用机翻字幕的,专业内容的机翻质量应该还行)。

不要陷在细节里

所以后来研究出来一个技术,在外面的磁道上多放几个扇区啊。此时,单位时间划过的扇区就比靠里面的磁道多。因为扇区是从外面开始算的,并且磁头移动到最外面的磁盘的时间短。所以呢,安装系统时,最好安装到第一个分区,而不是最后一个分区,因为最后一个分区的读取速度会比较慢。

但是是,现在反正都是 SSD 了,这些知识也逐渐被人给忘掉了。

另外,现在一般使用 LBA 对扇区进行编码。并且扇区大小也从 512B 变成了 4KB.

你学习的这些东东只适合上个世纪八九十年代。已经过时很久了。