继上一篇<<linux内核原理剖析——内存寻址(一)>>之后,发现大家
对底层技术关注度比较高之后,今天继上一篇的内存寻址一文后,补
充一篇关于更为底层的——磁盘寻址,让我们更清楚的了解计算机在
硬盘上是如何寻址的。
磁盘模型
上图显示了计算机系统中磁盘的形态。其中磁盘会在主轴上通过机械摇臂旋转,一个磁盘上下会有2个磁头(图中为了方便,只画了一个),当旋转时,磁头在磁盘上画出磁道(一个磁盘上有多个磁道),每个磁道的立面称为柱面,两个磁道之间会分割成一小块一笑块区域,称为扇区。
寻址方式
数据是存储在计算机的磁盘上的,那么cpu是如何通过内存在磁盘上找到需要找的数据呢?答案当然也是需要寻址的,即为磁盘寻址。磁盘寻址分为CHS和LBA。
CHS
最开始我们的磁盘有8个磁片,每个磁片上有2个磁头,每个磁片上有21024个磁道,每个磁道有63个扇区,每个扇区大小相等,为512byte。即整个磁盘大小:82102463*512byte = 500M。但是我们会发现个问题,如果每个磁道都是63个扇区,那么外层磁道分的每个扇区一定是要比内层磁道分的每个扇区要大,所有为了保证每个扇区大小相等,外层扇区采用稀疏的存储方式存储,但是这