• 深入浅出计算机组成原理学习笔记:第四十五讲


    在1991年,我刚接触计算机的时候,很多计算机还没有硬盘。整个操作系统都安装在5⼨或者3.5寸的软盘里。不过,很快⼤部分计算机都开始⽤上了直接安装在主板上的机械硬盘。
    到了今天,更早的软盘早已经被淘汰了。在个人电脑和服务器里,更晚出现的光盘也已经很少用了。

    机械硬盘的生命力仍然非常顽强。无论是作为个人电脑的数据盘,还是在数据中心里面用作海量数据的存储,机械硬盘仍然在被大量使用。不仅如此,
    随着成本的不断下降,机械硬盘还替代掉了很多传统的存储设备,比如,以前常常⽤来备份冷数据的磁带。

    那这一讲里,我们就从机械硬盘的物理构造开始,从原理到应用剖析一下,看看我们可以怎么样用好机械硬盘。


    一、拆解机械硬盘

    1、盘面

    1、定义

    2、材质

    3、数据存储在哪里

    4、什么控制盘面旋转

    5、硬盘购买指标

    2、磁头

    1、磁头的作用

    2、一个片面上通常有几个磁头?

    3、一块硬盘有多少个盘面?

    3、悬臂

    1、从原理方面

    2、盘面像什么?

    4、数据是怎么存到盘片上

    我们刚才说的一个磁道,会分成一个一个扇区(Sector)

    上下平行的一个一个盘面的相同扇区呢,我们叫作一个柱面(Cylinder)

    1、步骤一

    2、步骤二

    3、平均延时

    4、平均寻道时间

    二、PartialStroking:根据场景提升性能

    1、缩短行程

    2、缩短行程

    最极端的情况是不寻道

    只用1/2或者1/4的磁道

    3、在当时那个更划算

    软件层面

    硬件层面

    结论

    在2000-2010年这10年间,正是这些奇思妙想,让海量数据下的互联网蓬勃发展起来的。在没有SSD的硬盘的时候,聪明的工程师们从硬件到软件,
    设计了各种有意思的方案解决了我们遇到的各类性能问题。而对于计算机底层知识的深入了解,也是能够找到这些解决办法的核心因素。

    总结延伸


    好了,相信通过这一讲,你对传统的HDD硬盘应该有了深入的了解。我们来总结一下。


    机械硬盘的硬件,主要由盘面、磁头和悬臂三部分组成。我们的数据在盘面上的位置,可以通过磁道、扇区和柱面来定位。实际的一次对于硬盘的访问,
    需要把盘面旋转到某一个“几何扇区”,对准悬臂的位置。然后,悬臂通过寻道,把磁头放到我们实际要读取的扇区上。


    受制于机械硬盘的结构,我们对于随机数据的访问速度,就要包含旋转盘⾯的平均延时和移动悬臂的寻道时间。通过这两个时间,我们能计算出机械硬盘的IOPS。

    7200转机械硬盘的IOPS,只能做到100左右。在互联网时代的早期,我们也没有SSD硬盘可以用,所以工程师们就想出了Partial Stroking这个浪费存储空间,
    但是可以缩短寻道时间来提升硬盘的IOPS的解决方案。这个解决方案,也是一个典型的、在深入理解了硬件原理之后的软件优化⽅案。

  • 相关阅读:
    Python程序设计--第6章 面向对象编程
    Python程序设计--第5章 函数设计与使用
    Python程序设计--第4章 字符串与正则表达式
    Python程序设计--第3章 选择与循环
    Python程序设计--第2章 python序列
    Python程序设计--第1章 基础知识
    Python基本计算--除法
    ES6:对象新增方法
    ES6:字符串常用方法
    ES6:let和const用法
  • 原文地址:https://www.cnblogs.com/luoahong/p/11365672.html
Copyright © 2020-2023  润新知