一、我的磁盘参数

我们知道硬盘里面重要的几个概念:磁头(Head)、柱面(Cylinder)、扇区(Sector),下图是我电脑的这几项的数据,用DiskGenius查看的:

共有60801个柱面,255个磁头,每道扇区数63个,总扇区数:976773168,这里说明两点:

(1)磁头数为奇数:我们知道磁盘里面一个盘面有两面可以存储数据,但是有的盘面只使用了一面,因此磁头数可能出现奇数,这里可以知道磁头编号是从0~255。(没有采用多磁头技术)

(2)每道扇区数:我们知道对于一个盘面,越往外磁道周长越长,对于以前老式的磁盘,每个磁道的扇区数目是相同的,这样就导致外面的磁道存储数据密度太低,因此现代的磁盘都是外面磁道扇区数目多,里面的扇区数目少,这里的每道扇区数其实是经过折算后的,也就是用总扇区数除以磁头数再除以柱面数得到的。

(3)柱面数:共有60801,所以可以知道柱面和磁道编号为0~60800

(4)总扇区数:976773168,这个就是我的硬盘总共的扇区数,这些扇区可以存储数据,其中每个扇区512Bytes,所以我的磁盘容量大概也就是:465GB

二、低级格式化

上面我们列举了我的磁盘里面柱面、扇区数目,这些数目是怎么来的呢?一个空白的硬盘可以想象成一个“铁砖头”,并没有这些所谓的磁道、柱面、扇区等参数,出厂前,硬盘厂家往往会进行格式化,确定硬盘的柱面、扇区等等物理参数,这就是所谓的“低级格式化”,这种格式化和操作系统是没有关系的。

三、磁盘寻址

磁盘经过低级格式化后,就有了扇区,我们就可以往里面写数据了,但是如何来确定我们的数据写到哪个扇区呢?如果我们不告诉计算机,它是不知道的。因此我们应该找到我们需要写入或读出数据的扇区,也就用到了“磁盘寻址”。

(1)找到一个具体的扇区,可以通过提供柱面号(Cylinder),磁头号(Header)、扇区号(Sector),就能唯一确定那个扇区了,这种寻址方式称为CHS寻址方式。例如CHS为0/0/1表示0号柱面、0号磁头、1号扇区,也就是整块磁盘的第一个扇区;60800/254/63,表示60800号柱面,255号磁头,63号扇区,表示我的磁盘的最后一个扇区。

(2)找到一个具体的扇区,还可以使用另外一种方式,那就是仅仅提供扇区号来确定,叫做LBA,逻辑寻址,或者线性寻址,例如0号柱面0号磁头扇区数为100个(这里不是68个了,因为外圈比内圈扇区数多),其对应的物理编号为1~100,但是对应的LBA逻辑编号为0~99(逻辑编号从0开始);0号柱面1号磁头对应扇区物理编号为1~100,但是对应的LBA逻辑标号为100~199,以此类推,因此所有的扇区编号为:0~976773167,相当于把一个一个的柱面展开,然后连接起来了。

四、磁盘分区

看完了前面,一个物理参数已经确定的磁盘,如果我们要安装操作系统,例如windows,那么需要对磁盘进行分区,也就是说C盘占用哪些扇区,D盘占用哪些扇区等等,占用的扇区由我们给他们分配的大小决定。下图是我的分区所占用的扇区:

可以看到系统保留分区占用的扇区,这里CHS和LBA两种寻址方式都可以看到:

(1)对于CHS寻址:系统保留分区从0柱面32磁头的33号扇区开始,到12柱面,223磁头的19扇区截止。

(2)对于LBA寻址:系统保留分区的起始扇区编号为:32*63+33-1=2048,注意这里的CHS中扇区编号从1开始,而LBA寻址里面扇区编号从0开始。

到这儿,也可以回答@金色海洋(jyk)阳光男孩 的第一个疑问,C盘到底在硬盘的哪里:开始于12柱面223磁头20号扇区,结束于7649号柱面13号磁头44号扇区。而且操作系统一般存储于磁盘靠外面的磁道,据说外道访问速度比内道快,而操作系统文件又需要经常访问到。

再来看上面的图,我们会发现几个问题:

(1)系统保留分区从2048扇区开始,那么前面的0~2047个扇区,相当于1MB大小为什么没有显示出来,它们是干什么的用的?

(2)里面看到了扩展分区下面挂载了E盘和F盘,当然前面系统保留分区、C盘、D盘就是主分区了,他们有什么区别?

(3)扩展分区结束于60801柱面,47磁头46扇区,那么后面的扇区干什么用了?(备注:这里60801应该为60800,因为柱面是从0开始编号的,因此可能是软件的错误,这里不就深究了)

下面简单说一说:

(1)对于问题(1),前面有2048个扇区,其中第一个扇区,也就是0号柱面0号磁头1号扇区(CHS寻址)或者0号扇区(LBA寻址),也称为MBR区,共有512个字节,其中主引导记录MBR占用446个字节,用来引导操作系统启动的,不详细写了,有机会再介绍;磁盘分区表(DPT)占用64个字节,用来记录各个分区的情况,例如C盘占哪些扇区、D盘占哪些扇区等等,我们发现它只有64个字节,可以分成4条记录,一条记录占16个字节,用来记录一个分区的情况,因此只能有4个分区了,也就是4个主分区,如果想分更多的区,可以把其中一个主分区当做扩展分区,再扩充出去几个逻辑分区,几个逻辑分区挂载在扩展分区上面,因此扩展分区也是主分区的一种,且只能有一个;最后两个字节以55AA结尾;其他的2047个扇区一些空着,一些另做他用。(该部分内容不详细写了,要不文章又要太长了)

(2)对于问题(2)在上面文字中简单说明了一下主分区和扩展分区的区别。

(3)对于问题(3)我也好奇怪,那些空间都去哪儿了?

备注:可以把磁盘按照扇区展开,依次编号为0,1,2,……,然后分成几部分:Part1,Part2,Part3,Part4,Part5,Part6,Part7其中Part2、Part3、Part4、Part5,Part6分别给了系统保留分区、C、D、E、F盘,Part1和Part7空出的空间另作他用,其中每一个Part里面各个扇区又是有些什么,里面存储了哪些信息,也是值得思考的。

五、写入文件

分区讲完了,我们来看看写入文件。往磁盘里面写入文件,是按照柱面、磁头、扇区的顺序来写的,例如先写第1个柱面、第1个磁头、第1个扇区,然后写第1个柱面、第1个磁头、第2个扇区,写完63个扇区后,再移动到下面一个磁头来写;当写完一个柱面,再用后面的柱面。接下来假如往c盘写两个文件a.txt,b.txt,他们一个占用了一个柱面,那么它们的扇区地址是紧紧挨着的且a.txt在前,b.txt再后,但是接下来就要发生一些事情:

(1)如果a.txt里面删除内容,那么占用空间减少,但是占用的空间还是1个柱面。

(2)如果a.txt里面增加内容,那么一个柱面占不下了,而紧挨着它的柱面又被b.txt给占了,那么它会从其他柱面去找地方去放,然后在a.txt创建对新增内容所在扇区的引用。

从(1)(2)可知,随着系统的运行,磁盘里面的碎片会越来越多,因此操作系统提供了碎片整理工具就是把这些空间整合的(当然,对于SSD硬盘,因为内部结构不同,不建议碎片整理,这里就不解释了。),可以看看我的D盘里面空间利用,并不是连续的,如下图:

备注:操作系统对文件的操作比这个要复杂些,例如删除文件并不会实际从扇区里面删除,否则各种恢复就无法恢复文件了,具体的可以去看操作系统知识了。

另外,我们平时有过这样的体会:例如将D盘里面的一个大文件剪切到D盘的其他文件夹,速度很快,而剪切到其他盘符,速度就比较慢了,就是因为在同一盘符里面,剪切文件,实际上只是改变了文件的引用地址,并没有改变文件实际的扇区地址,因此速度很快。这也给我们一个提示:以后磁盘分区没必要分那么多了,分两个就够了,一个安装系统,一个放一些数据文件,这样移动文件速度也快,当然如果有别的用途,如安装多操作系统等需要,就另当别论了。

好了,就写这么多吧,从此再看到硬盘,是不是对它有了不一样的认识,写的有点儿乱,还请见谅。

计算机如何寻址硬盘,再来理解一下硬盘相关推荐

  1. 计算机两个硬盘无法重启,双硬盘电脑非系统盘硬盘盘符重启丢失的案例分析

    原标题:双硬盘电脑非系统盘硬盘盘符重启丢失的案例分析 昨晚,小编在工作了一段时间之后,重新启动计算机,突然发现两个数据盘分区没了,从计算机的磁盘管理里面看,硬盘分区还在,盘符没了.如下图所示: 我的计 ...

  2. 计算机三级考试监控回放,09年计算机三级辅导:禁用Vista下的硬盘监控警告

    09年计算机三级辅导:禁用Vista下的硬盘监控警告发布时间:2008-12-13 Vista会对硬盘可用空间进行监控,当磁盘空间不够时,Vista会在任务栏上显示警告信息.禁用此功能,其实只需: * ...

  3. 电脑桌面计算机打开不显示硬盘信息,电脑加硬盘后不显示不出来怎么办

    1.给电脑添加了一个新硬盘,可是显示不出来怎么办 1.在计算机上安装硬盘后,打开计算机,在计算机桌面上,选择我的计算机并右键单击"管理"进入计算机管理界面. 2.选择"磁 ...

  4. 计算机硬盘一只闪烁,硬盘灯一直亮,小编教你电脑硬盘指示灯一直亮怎么办

    在我们使用电脑的硬盘指示灯有时会常亮主机中并伴有声响,然后电脑的运行就会特别卡顿最近,有用户反映发现电脑的硬盘指示灯一直处于亮的状态,不知道是怎么回事,遇到这种情况该怎么办呢?下面,小编给大家带来了电 ...

  5. 嵌入式计算机 硬盘录像机,嵌入式数字硬盘录像机安装步骤 硬盘安装及使用注意事项【详细介绍】...

    数字硬盘录像机的安装也是一个技术活,要想快速准确的安装完毕,必须要了解相应的知识,今天我们就来介绍一下现在应用比较广泛的一种数字硬盘录像机的安装,也就是数字硬盘录像机安装. 数字硬盘录像机的相关介绍 ...

  6. 计算机少了4个磁盘,电脑硬盘突然少了几个分区,这是怎么回事?如何修复?...

    电脑硬盘突然少了几个分区,这是怎么回事?如何修复? 关注:54  答案:5  mip版 解决时间 2021-02-07 16:10 提问者空城忆 2021-02-07 13:03 本来我的电脑有C到I ...

  7. 计算机的硬盘维修,四大电脑硬盘常见错误及修复方案

    硬盘驱动器是计算机系统中最重要的单元之一,如果它不能正常工作,系统就很难有序运行.计算机的核心操作系统都存储在在硬盘驱动器上,因此硬盘驱动器运行状况非常重要,需要我们额外的关注.如果用户发现硬盘驱动器 ...

  8. 计算机无法与硬盘,无法识别的硬盘原因和解决方法[详细]

    我相信许多用户都遇到了无法识别的硬盘故障. 作为计算机中重要的存储设备,硬盘的重要性不言而喻. 大量数据存储在硬盘中. 一旦发生故障,数据丢失就非常严重. 那么如何解决硬盘无法识别的问题呢?以下编辑器 ...

  9. 计算机基硬盘故障,常见的硬盘故障修复 -电脑资料

    一.相关知识 在讨论具体的处理方法之前,我们有必要先来了解一下硬盘及其相关系统的原理,管理者,由它来完成驱动器与内存之间的命令及数据传输.目前应用较广的硬盘控制器按其接口的不同分为IDE.SCSI两类 ...

最新文章

  1. 常用控件产品官方文档/手册/API列表 c#控件文档API列表 asp.net控件产品技术文档中文版...
  2. WPF 与Surface 2.0 SDK 亲密接触 - ScatterView 数据绑定篇
  3. 浅析网站备案的三大好处——你的网站备案了吗?
  4. mysql安装、导入数据脚本
  5. AYUSH的完整形式是什么?
  6. total video converter 绿色_志愿服务清理杂草 牵手绿色生态文明
  7. js点击事件onclick_关于JavaScript的事件绑定问题
  8. 弱引用什么时候被回收_Java中的强软弱虚引用
  9. java仿redis对变量设置过期时间方法setex
  10. 睿联技术在创业板过会:收入依赖摄像机单机,计划募资11亿元
  11. MATLAB系列笔记:三维绘图(一)
  12. xlsx无法导入MySQL?
  13. 期货成交量与持仓量(期货成交量与持仓量的秘密)
  14. 大学python笔记整理_python学习笔记整理(一)
  15. 微信支付企业付款的php开发实例
  16. 斐波那契数列(前30)Python
  17. 很累的时候要坚强,但别逞强
  18. tinkerCAD入门操作(2):移动、旋转和缩放对象
  19. C语言(一)认识了解C语言
  20. matlab plot3 画EMD、VMD等多个分量的时域和包络谱三维图

热门文章

  1. 手动爬取炉石传说所有卡牌
  2. 易买网更多新闻代码_《女神异闻录5》新网站源代码内藏玄机 4月25日有更多情报...
  3. K210入门,用wifi通讯
  4. 获取各大电商平台,item_get_app - 获得淘宝app商品详情原数据API返回数据说明
  5. 几种闪存技术:eMMC、UFS2.1、UFS3.0、SSD
  6. 全闪存存储、混合闪存存储
  7. 解读:学习网络安全自学好还是报培训班好
  8. 张一鸣是如何练就字节跳动的
  9. 使用@Vaild或@Validated正则校验以及常用正则
  10. 拥抱数字化变革 |2021 全球产品经理大会亮点回顾