• 【转】为什么你的硬盘容易坏?因为它转得实在是太快了


    声明:本文转载自微信公众号“51CTO官微”:原文链接

    千万别没事开着机就端着你的笔记本电脑到处走动,很容易坏的!

    笔记本电脑和台式电脑相比有一个很大的缺点,就是硬盘容易坏(HDD-机械硬盘),因为笔记本电脑需要经常移动,容易把硬盘给震着,但这好像也是笔记本的优点吧。

    为什么笔记本的硬盘容易坏?

    那我们就得先了解机械硬盘的构造。在介绍硬盘之前先来介绍一下留声机。相信大家都在电视上见过下图中的这个玩意,它叫留声机,是伟大的发明家爱迪生先生于1877年发明的。

    它的原理其实很简单,盘片上有很多凹槽,当指针和凹槽接触的时候,针尖随凹槽波动而轻微地振动,从而转化为声音,大家就可以听到美妙的音乐了。

    其实计算机磁盘也是这个道理,如下图是一个拆开的磁盘,可以看到,磁盘上也有一个读写头。

    和留声机不同的是,读写头和光盘面是不接触的,他们之间通过磁性来传递信息。也就是说,磁盘是用磁介质来存储信息的。

    如果你经常听见你的笔记本电脑内部有什么东西在细微震动,那多半就是你的磁盘在飞速转动。

    此外,磁盘并不是像上图那样只有一面,如果夸张地把磁盘内部结构放大,它应该是下面这个样子的:

    这样一个看起来薄薄的磁盘其实一共有n张光盘共2n个面,每个面都可以记录信息。如下图中的左半部分所示。

    每个盘面都有一组被称为磁道的同心圆,就如下面的磁道0、磁道1等等;每一个磁道又被划分为一组扇区。(这里很多同学可能会理解错误,扇区指的不是那个扇形,而是那一小段圆弧)。

    扇区与扇区之间有一些间隙,把扇区隔开。

    每个扇区都可以存储数量相等的数据位,通常是512字节。前面加粗的字不知道大家有没有发现不对劲的地方?

    对于圆弧形的扇区来说,越靠近圆心的圆弧就越短。既然每个扇区的磁道长短不一,为什么还存储着同样大小的信息呢(通常是512字节)?

    没办法,就是这么蛋疼。在讲这个蛋疼的事情之前,我们还需要再了解一下柱面。柱面指的是所有盘面到主轴距离相等的同心圆的集合。可以参考上图右面的那个示意图,比如图中有4个光盘,8个盘面,那么一个柱面就由8个同心圆磁道构成。

    好了,讲了柱面我们继续讲刚刚那个蛋疼的事情。

    从上图左边的示意图可以看出,无论是靠近圆心的磁道还是最外圈的磁道,都被分割成了数量相等的扇区,并且每个扇区存储的数据量是一样的。

    这样就会造成,靠内的扇区之间间隔很小,而越往外扇区之间的间隔就越大,如果非要用一句人话来描述就是:越往外,磁道记录信息的密度就越低。

    扇区数目是由最靠内的磁道能记录的扇区数来决定的,这就是最坑的地方,最里面的磁道能划分为多少个扇区,那么最外层的磁道就必须存多少个扇区。十分浪费,当然,人类肯定不能一直这样设计。

    后来有一种新的技术出现了,就是多区记录,什么意思呢?

    用大白话说就是,假设一个磁盘有200个同心圆(柱面),之前200个柱面都按最里面的那个柱面来划分扇区。

    现在的多区技术就是,把200个柱面划分为x个组,我们这里就假设成4个组,每个组50个柱面。

    第一组的1~50个柱面以第1个柱面为基准划分扇区;第二组51~100柱面以第51个柱面为基准划分扇区...以此类推。

    这样就更高效地利用了磁道的存储位。

    当计算机开始运行,磁盘也开始飞速转动,然后读写磁头转动,就可以在相应的磁道中读写数据了。

    讲完了原理,我们来讲讲你的笔记本电脑为什么容易坏。其实很多同学的笔记本坏了,多数时候都是磁盘坏了,那么磁盘为什么这么容易坏?

    因为它转得实在是太快了。。。给个量化的指标,最外层的磁道和读写头之间的相对速度(学过物理的都知道线速度和角速度吧,这个自己转化yy一下)是80km/h。

    做个不恰当的比喻,如果地球按这个角速度自转,那么地球自转一周也就需要8秒钟而已。在这种情况下,我想你绝对会被甩出银河系,地球也瞬间瓦解。

    磁盘在高速运转的情况下,你拿着它到处走动,读写头很容易和盘面碰到,因为它们仅仅相距0.1微米。一点点小撞击,就能毁了你的磁盘。

    所以,记住了。

    电脑开着机的时候少拿着走动,关了机以后再放进书包带走。当然,如果你的电脑硬盘是固态的,那就请你随意走动,电脑开着机拿手上跳个广场舞也没事。

    关于固态硬盘,后面我们慢慢道来。

    2. 算法上的优化

    为什么说,程序员在知道了计算机底层原理以后能写出更优秀的代码?今天我们就用一个例子来说明。

    如果你了解一些数据库的优化算法,你应该听说类似的优化策略:随机读转化为顺序读,随机写转化为顺序写。

    为什么要转化呢?因为随机读写真的很慢。

    磁盘在读写数据的时候,时间主要消耗在三个地方。分别是:寻道时间,旋转时间和传送时间。

    大家只要看了上面的内容,大致应该知道磁盘读取数据的流程。首先是寻道,也就是传动臂的读写头要先移动到对应的磁道上,这个过程所花费的时间叫寻道时间。

    找到了磁道以后还不能马上读取数据,还需要找到相应的扇区才能开始读写,所以磁盘还要旋转,把对应的扇区转动到读写头下方,这个过程所花费的时间叫做旋转时间。

    在找到目标扇区以后,剩下的时间就是传送时间了,也就是数据的写入和读取。

    为什么随机读写慢,顺序读写快?

    答案很明显,随机读写每次的时间花销都由上述三部分时间构成;然而顺序读写省去了前两部分时间。

    看到这里,你已经可以装逼地给别人讲一下,为什么有一类算法要把随机读写转化成顺序读写。

    3. 一块SSD拯救了我的电脑

    上图中红色箭头指向的笔记本,是我刚上大一那会儿买的电脑,也是我的第一台笔记本电脑,当时只花了4000元,陪伴了我大学4年。

    华硕X550V,4g内存,i5三代处理器,750G机械硬盘,我大学四年都没有觉得它慢,所以,上大学的同学,我感觉4000~5000元的电脑已经足够你用了,并且现在4000元的电脑在性能上早就超越我多年前买电脑的那个配置了。

    毕竟计算机硬件的发展是遵循“摩尔定律”的(不懂摩尔定律的记得去百度一下)。当然,如果你的资金充足,并且想在Linux下开发,我会全力建议你买一台苹果Mac Pro,至少它让我的开发效率不知道提高了多少倍。

    好像扯远了,我们话说回来,讲一下SSD,也就是固态硬盘。

    我那台老笔记本在用了4年后,有点扛不住了,所以我买了一块250GB的固态硬盘给换上,再自己加了一块4GB的内存,然后给它装上了一个Ubuntu系统(Linux),感觉它就像迎来了新生。我感觉它的性能提升了不只10倍。

    这主要归功于那块固态硬盘,为什么固态硬盘这么牛逼?

    因为固态硬盘采用的是闪存技术,其实你的U盘、手机存储都是闪存。

    首先,固态硬盘不容易坏,因为固态硬盘中已经没有那个旋转的磁盘了,所以即使是开机状态你拿着它到处走也没事。

    其次,固态硬盘的读写速度大约是机械硬盘的5~10倍,对于游戏玩家和开发者而言,这无疑是一个巨大的改善。

    所以我的这台电脑换了固态硬盘之后,就被我放在家里装上各种数据库做存储系统了,时不时跑一些任务,性能也是杠杠的。

    4. 总结

    如果你看到了这里,相信你已经对硬盘已经有了初步的了解,在选购计算机的时候也可以看看相应的参数啦!今天的硬盘就讲到这里,之后有空我们再聊聊其他硬件,比如CPU、内存或者是主板。

  • 相关阅读:
    WCF中神秘的“8731"端口和“Design_Time_Addresses”
    wcf分布式构架集群案例解决方案
    asp.net odjectdatasource的用法
    ClientBase<T>中对ChannelFactory<T>的缓存机制
    asp.net datatable中行的复制
    c#连接各种数据库的方法
    wcf系列学习5天速成——事务的使用
    Atitit 软件设计中的各种图纸 uml 之道 1. 常见设计成果与图纸 2 1.1. 总图 2 1.2. ui原型图与html 2 1.3. 业务逻辑 伪代码 各种uml图 2 1.4. 总体
    Atitit 综合原则 软件与项目开发中的理念信念 目录 1.1. 建议组合使用扬长避短 1 1.2. 常见数据库 mysql oracle mssql mongodb postgre sqlit
    Atitit it理论不可能三角“:“安全方便廉价 目录 1. 不可能三角 1 2. 三元悖论 1 2.1. 培恩洛兹三角形 2 2.2. 彭罗斯三角(Penrose triangle) 2 2.
  • 原文地址:https://www.cnblogs.com/yif1991/p/9851517.html
Copyright © 2020-2023  润新知