一个故事看懂机械硬盘原理
前情回顾:《第二回:内存揭奥秘,总线解玄机》
上回说到,阿飞从混沌中醒来,意外发现自己的大脑被数据化存储到了一台计算机内存中,阿飞想逃离这里,内存却告诉他,如果不赶紧把自己持久化存储起来,一旦计算机关闭他就会消失。在内存帮助下,阿飞总算来到了硬盘上。
第三回:数据何所依,硬盘话原理
突然,一个巨大的东西从远处飞了过来,在阿飞头顶不远处的地方快速掠过,吓得阿飞下意识一闪。
阿飞来不及看清,那东西已经远去。
往后的时间里,每隔一会儿,那东西就出现一次,非常有规律,时间久了,倒也习以为常了。
阿飞开始仔细打量起这个新的地方,头顶的方向一片漆黑,只有那东西出现的时候有短暂的光亮。而脚下的方向,阿飞发现了无数的小颗粒依次排列着,由近及远,望不到头,有点像内存中排列整齐的电容单元,仔细看去却又完全不同。
“这些小颗粒是什么东西?”,阿飞小声嘀咕着。
“新来的不清楚吧,那是金属磁粒”,旁边不远处,有人跟他搭上了话。
“谁在说话?”
“我是一个文件,在你隔壁扇区呢”,那声音说到。
“你好,我确实刚刚来到这里,刚刚你说那是金属磁粒?什么是金属磁粒?”,阿飞问到。
“那是机械硬盘的盘面上用来存储数据的东西,咱们的数据就是靠它们存储表示的,金属磁粒是有极性的,多个磁粒组成一个单元格,用来表示一个比特位,单元格中的磁粒方向朝上,就表示1,方向朝下,就表示0”
图片来源:B站UP主——硬件茶谈
阿飞恍然大悟,“原来是这样,难怪以前把硬盘又叫磁盘”,又接着问道:“那为什么不是左右,而是上下呢?”
“还真让你说对了,早期的硬盘就是水平式记录数据的,不过现在的硬盘都改成了垂直式记录数据了,因为这样更省空间,单位面积可以容纳的单元格更多了,硬盘的存储容量也提升了很多”,隔壁的文件说到。
阿飞点了点头,原来这机械硬盘是这样存储数据的。
“唉,你怎么知道的这么多?”,阿飞有些好奇。
话音刚落,那个巨大的东西又从头顶掠过。
“这是个什么东西?怎么老是在我头顶转悠?”,阿飞小声嘀咕着。
“那是磁头”
“磁头?”
“没错,磁头是硬盘读写数据的触手,硬盘要读取或者写入数据,都靠它来完成”
“那它怎么飞来飞去的?一会儿又来一下,一会儿又来一下的”
“那可不是它在飞,而是咱们脚下的这块盘片在转动导致的。”
“我们在转动?”,阿飞有些不敢相信。
“没错,这块硬盘每分钟可以旋转7200转呢!”
“这么快?我怎么感觉不到?”
“地球还在转动呢,人类不也一样感受不到吗”,那文件笑着说到。
正说着,那个叫磁头的东西又转了过来,而这一次,磁头靠得比以往更近,正好从阿飞的正上方掠过,这一次阿飞看清楚了,在磁头末端的地方,有两个装置,一大一小。
眼看就要撞上了,阿飞吓得闭上了眼睛。
“已经走了,瞧把你吓得”,隔壁那文件扑哧一笑。
阿飞睁开了眼睛,那东西果然已经不见了踪迹。
“刚刚发生了什么,距离我好近,我还以为要撞到我,吓死我了”,阿飞说到。
“不用担心,刚才是磁头在读取你的数据呢,虽然距离很近,只有几纳米,但绝对不会撞上来的,那样这硬盘就算毁了。”
“读我的数据?我怎么什么感觉也没有?它怎么读的”
“磁头的尾端有两个东西,一大一小,分别是写磁头和读磁头,悬浮在硬盘盘面几纳米的地方,读磁头扫过的时候,通过电磁技术可以检测到下方单元格中磁粒的极性,就能分辨是0还是1了”
“那两个东西,我刚才看到了,原来那就是读写磁头。你说的数据读取过程听起来有点像留声机把唱片上的纹路转变成声音的过程”,阿飞说到。
“唉,你这理解的不错,就是那么个意思”
“读我知道了,那如何写入数据呢?”,阿飞追问到。
“旁边的写磁头可以通过磁场改变单元格中金属磁粒的极性,将其设定为1或者0”
“妙啊!”,阿飞不禁感叹到,人类真是聪明,工业技术真是强大,能在这样尺度的空间里发明出这么精巧的玩意。
“你怎么懂的这么多啊,什么都知道”
“因为我是一个PDF文档,内容讲的就是《机械硬盘存储原理》,我说的这些都记录在文档中呢”
“那你再给我说说,这硬盘这么大,一眼望不到头,它怎么知道我在哪个位置?”
“这硬盘容量虽大,但上面的存储位置都是经过统一的编址,想找到你轻而易举。”
“哦,具体怎么实现的?”
“硬盘由多个盘面叠在一起,盘面是个圆形,从里到外被划分了许多圈,也就是磁道,每个磁道又被划分了许多个扇形区域,也就是扇区,硬盘的读写都是以扇区为单位进行的,一般情况下一个扇区的容量是512字节。”
“唉,等一下,既然是扇形,那外圈的扇形面积比内圈大,如果每个扇区都是固定存储512字节,那外圈扇形不是浪费了不少面积吗?”,阿飞问到。
“你脑子转得还挺快,不错,早期的硬盘就是这样的,每个磁道的扇区数都是一样的,这样寻址计算起来方便,但这样就会导致内圈的扇区小,数据密度大,而外圈的扇区大,数据密度小。不过现在的硬盘为了提升容量,不会允许这种事情发生,不同磁道的扇区数不再一致,内圈面积小,扇区数少,而外圈面积大,扇区数目就会更多一些”
阿飞陷入了思考,脑子里开始想象那一圈又一圈的磁道。
那文件接着说道:“读写数据的时候,硬盘的驱动程序通过计算将会知道数据在哪个盘面,在哪个磁道以及所在的扇区编号。先通过磁头臂将磁头移动到对应的磁道上方,这个过程叫做寻道,接着等待对应扇区旋转到磁头下方就可以开始读写数据了”。
“一个扇区才512字节,如果超出怎么办呢,像我有20多MB,该怎么存储呢?”
“那就需要占据多个扇区,这个问题,该交给文件系统来解决,具体我就不太懂了”
刚说完,那东西又一次来到了阿飞的正上方。
“奇怪,怎么又来读我的数据”,阿飞有些纳闷儿。
“阿飞,阿飞~”,正想着,头顶的方向传来了当初那个神秘老者的声音。
“你总算又出现了,我到底该怎么做才能离开这里?”,阿飞着急的问到。
那老者并未理会阿飞的问题,只是淡定的说到:“你已经被杀毒软件发现了,很快就会被杀软从硬盘中清除,如果是那样,你就永远也醒不过来了”
阿飞心头一紧,原以为来到硬盘就安全了,没曾想还没缓过劲来,又被杀毒软件盯上,更可气的是自己居然被当作了病毒。
“那我该怎么办?快告诉我”
“藏起来”,老者说到。
“藏起来?怎么藏起来?”
这一次,阿飞没有等来回答,老者再一次消失的无影无踪。
想知道后续吗,欢迎大家留言分享转发,点赞破百,开更下一回:文件系统的故事···
系列回顾
《第二回:内存揭奥秘,总线解玄机》
《第一回:天才闯秘境,绝地寻生机》
一个故事看懂机械硬盘原理相关推荐
- 一个故事看懂AI神经网络工作原理
我是一个AI神经元 我是一个AI神经元,刚刚来到这个世界上,一切对我来说都特别新奇. 之所以叫这个名字,是因为我的工作有点像人类身体中的神经元. 人体中的神经元可以传递生物信号,给它输入一个信号,它经 ...
- Linux内存管理:一个故事看懂CPU内存管理技术
目录 8086 32位时代 虚拟内存 分页交换 现在 往期热门回顾 推荐阅读 还记得我吗,我是阿Q,CPU一号车间的那个阿Q. 今天忙里偷闲,来到厂里地址翻译部门转转,负责这项工作的小黑正忙得满头大汗 ...
- 一个故事看懂“区块链”
区块链是比特币的底层技术和基础架构,本质上是一个去中心化的数据库.区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)并生成下一个 ...
- 清空list_3. Python3轻食丨一个故事看懂List所有用法:1年级1班的班级生活
List(列表)知识:1年级1班的班级生活 1.1 列表是个啥:List(列表)的基础知识: 今天我们来讲Python六大数据类型的第一种:List(列表).本文将引入一个1年级1班的班级故事,本故事 ...
- 一个故事看懂Linux文件权限管理
前情回顾: 我通过open这个系统调用虫洞来到了内核空间,又在老爷爷的指点下来到了sys_open的地盘,即将开始打开文件的工作. 详情参见:内核地址空间大冒险:系统调用 open系统调用链 小说网站 ...
- 一个动画看懂网络原理之CSMA/CD的工作原理
一个动画看懂网络原理之CSMA/CD的工作原理 CSMA/CD协议是以太网传输中的一个重要协议,由于线路中同一时间只能允许一台电脑发送信息,否则各计算机之间就会产生干扰,为了解决这个问题,采用了CSM ...
- 计算机网络原理fin,一个动画看懂网络原理之TCP建立和释放过程
一个动画看懂网络原理之TCP建立和释放过程 一.TCP的概念 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议.T ...
- 计算机网络中的网桥,一个动画看懂网络原理之网桥的工作原理
一个动画看懂网络原理之网桥的工作原理 一.网桥是干什么的 网桥工作在OSI参考模型数据链路层的两端口或多端口二层网络设备,是用来连接不同网段的存储转发设备.使用网桥能扩展网络的距离或范围,还可以提高网 ...
- 计算机网络中 中继器的作用是,一个动画看懂网络原理之中继器工作过程
一个动画看懂网络原理之中继器工作过程 我们在学习计算机网络技术时,涉及到网络设备时,书本上往往在介绍网卡之后,就会给大家介绍中继器,那么中继器是什么,它的作用是什么,它的工作过程又是怎样的,下面就这些 ...
最新文章
- 问题 | CondaHTTPError: HTTP 404 NOT FOUND for url
- OpenGL 3D 选择
- linux 22.3 终端,Linux系统服务Day.22
- [html] HTML5如何播放ts视频流?
- java上传csv错误信息_java处理csv文件上传示例详解
- 认识和选购极致画质的显示器
- Every Woman is beautiful
- es集群节点数和分片数关系_ES数据插入和查询流程是怎么样的?
- 如何使用 Echarts 给绘制出来的地图描边
- mame linux 编译,完美编译街机模拟器MAME(Android版)基于MAME4all
- 计算机三种桌面图标,例举win7电脑桌面图标排列方式
- [spark] SparkSQL知识点全集整理
- java捕鱼设计_JAVA毕业设计教程:用swing实现捕鱼达人代码教程
- 《锋迷商城》——首页:轮播图
- 文件篮的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 卡尔曼滤波原理二:扩展卡尔曼
- Revit中添加了标高看不见原来轴网解决方法及轴网转化
- 结构光系统标定(四)基于双目视觉的结构光系统标定
- // 完整的COM例子
- 连续函数:函数在区间上连续