鱼C论坛

 找回密码
 立即注册
查看: 1408|回复: 8

[吹水] 我是一块硬盘(上)|建议阅读11min

[复制链接]
发表于 2016-8-31 08:54:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2016-9-2 08:39 编辑

转自 刘欣 公众号:码农翻身

硬盘.JPG

我知道CPU和内存是计算机的核心, 毕竟所有的运算最后都得通过他们俩来完成, CPU从内存里要取一条指令, 做计算,然后再写回内存, 如此周而复始。

但是这俩货却瞧不起我,说这是什么年代了,还在用机械式操作, 读写数据的时候, 还得一个磁头在多个盘片上滑来滑去,找来找去, 速度慢的要死。

内存说:“CPU比我快100倍, 比你快100万倍,整个系统的速度都被你给拖慢了。”

这是典型的五十步笑百步。

他俩还嘲笑我很娇气,得真空、密闭、不能有浮尘、运行时不能震动, 一动就坏了。

但这俩二货总是会忘记他俩的最大问题,所以我只用一句就把他们俩给噎死: 你们俩断电了怎么办?

还有我的容量都是按TB, 甚至PB 来算的, 就你们俩那点容量,还笑我?

还有,没有我来存储程序,你们从哪儿得到程序, 难道要像牵牛星(如下图)一样, 手工拨动一排开关来输入程序吗?

牵牛星硬盘.JPG

      其实我也很纳闷,  为什么你们人类造不出来一个能够断电存储的, 大容量的, 访问速度快的,当然还要便宜的硬盘来 ,你们不都上天了吗?要登陆火星了吗? 这些基础的材料怎么还无法突破?


我憧憬着这么一天的来临, 如果能制造出来了, CPU就可以直接访问硬盘了, 内存就一边凉快去吧。

在制造出来之前, 你们必须得容忍CPU-内存-硬盘之间的速度不匹配, 并且想出办法来解决这种速度的不匹配, 比如用缓存、 直接内存访问、 多进程/线程切换等等方法。

内部结构

其实我的内部是长这个样子的:

内部结构.JPG

看到没有,我有很多个盘片像串糖葫芦一样被串在一个主轴上, 主轴带着他们疯狂的旋转。

每个盘片都有很多一圈一圈的磁道, 每个磁道又分为一个一个的扇区。

多个盘片上的同一位置的磁道组成了一个柱面 (需要发挥一下你的想象力)

最后每个盘片上都有可以读写数据的磁头。

所以,如果你想访问我的数据,可以说: 把0柱面, 0磁头, 1扇区的数据给我拿来。

我就把磁头挪到您指定的柱面,对每个磁盘来讲其实就是指定的磁道, 所以这叫“寻道时间”

然后再旋转磁盘,让磁头指向您指定的扇区,这才能开始读取数据, 这叫“旋转时间”,转速快的硬盘能更快的旋转到特定扇区, 所以性能会更好些。

当然,对于绝大部分人来说,都不想去了解什么柱面,磁头,扇区这些非人的术语,所以我为懒人们专门提供了一个叫做逻辑块的方式,你看到磁盘就是有一个个“块”组成的,编号为1, 2, 3, ..n 。

想取哪一块就取哪一块, 比如你说:把第1024号的“块" 的数据给我取过来, 我在内部就把1024转化成柱面,磁头,扇区, 按照上面说的方法寻道,旋转,读取数据。

但是这还远远不够,比方说你想写个文档,输入了很多字和图片,最后想存到我这个硬盘上,你该怎么操作?

一种方法是这样的:

你: 硬盘,给我找20个空闲的磁盘块, 我想存我的文档

我:空闲的磁盘块编号是1024, 2048, 2049 ,3000 ,......

你: 把这些文字和图片存到这些磁盘块上

我: 好的,存完了, 你得记住这些块啊, 这样下次才能读取。

你: 拿一支笔把这些磁盘块编号都记到本子上

过了几天......

你: 硬盘, 把1024,2048,2049,3000这些数据给我取出来,我要编辑。

我: 好的,这是你的数据

没有人喜欢这种方式, 太折磨人了!每个人喜欢这么做:   

打开word -> 新建一个文件-> 输入文字和图片-> 保存到C盘“我的文档”目录下。

这个所谓的“文件”和“目录”就是我的杰作啊,你再也不需要和烦人的磁盘块打交道, 只需要记住你的文件名和路径, 一切工作交由我和操作系统老大来搞定。

我和老大商量好了,文件对人类来说是最小存储单位, 你想存任何东西,无论多么小,非得建个文件不可。

此外为了让这个世界整洁有序, 多个文件可以放到一个目录(其实也是个特殊的文件)里, 目录之上还可以有目录,形成一个树的结构。

文件这个东西是个伟大的发明, 我估计你们还得再用100年。

文件的存放

我日常的主要工作就是对目录和文件做操作,当然需要操作系统老大的配合,好吧,其实是老大在主导。

这其中最重要的一个问题怎么去记录各个文件都用到哪些磁盘块?


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-31 11:21:22 | 显示全部楼层
该作者写的科普系列文章很好!
btw,记得要加上原文出处呀!@不二如是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-31 11:25:25 | 显示全部楼层
~风介~ 发表于 2016-8-31 11:21
该作者写的科普系列文章很好!
btw,记得要加上原文出处呀!@不二如是

木问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-31 12:42:46 | 显示全部楼层
支持~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-8-31 14:00:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-31 14:37:43 | 显示全部楼层
支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-8-31 14:42:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-9 17:56:32 | 显示全部楼层
这篇文章666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-9 18:06:09 | 显示全部楼层

好文要分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 00:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表