zoukankan      html  css  js  c++  java
  • 硬盘的原理学习

    了解硬盘的原理对于编程,做数据优化(比如磁盘i/0瓶颈,机械硬盘慢的原因)都是有好处的。

    以前总觉得不太需要了解这些,但是越是做到后面,发现,了解计算机各个组件的原理,其实才能理解更加深入的知识,否则永远只是一个敲代码的工人。

    <数据库系统的实现>里面之所以开辟一个专门的章节讲解磁盘的原理,是理解到磁盘在数据库优化中的重要地位。

    总结知识点(包含我的疑问,以后补充):

    盘片。一个盘片有两个盘面:上盘面和下盘面。

    每个盘面都要配置一个磁头来读取里面的数据。

    我疑问在于:

    磁盘的控制器竟然能够做到这么精准,能够识别出盘面的某个点已经旋转到我这里来了,马上读取数据。

    是不是这样子,盘片就的主轴就是负责旋转就可以了,不停的旋转,磁盘控制器控制磁头读取盘片上的数据。

    我表示非常感叹,吃惊。竟然能够这么精准得做到控制。

    一个1tb的和500g的磁盘,是盘片数量的增加,还是盘片体积增加呢。

    我看到3.5寸的磁盘,以前也是350g的。而2.5寸的磁盘,能够做到500g。这样说明与体积无关。

    那是如何计算硬盘的容量大小的呢。

    先看有多少个盘面。假设是4个盘面(我的笔记本硬盘坏了,我拆开看)

    然后计算每个盘面的容量大小,那么就把4个盘面的大小加起来。

    要想知道一个盘面的容量大小。先求出这个盘面有多少个磁道(即同心园)。一般是65536的磁道的(2的16次方个)。

    每个磁道里面存储数据的地方实际上是扇区。是把磁道划分为相同大小空间的扇区。扇区之间有一点点间隙,这个间隙没有被磁化为0和1标识。

    一个磁道,大概含有256个扇区。

    一个扇区的大小是4096个字节(大部分磁盘使用512字节的扇区)

    于是大小就出来了:

    4*(65536*256*4096)=274877906944字节。

    262144M。转换成g单位,就是256g?

    奇怪了,那么笔记本的磁盘500g看来是错误了。是哪里错误了,磁道数错误了吗?

     硬盘控制器其实也有一个缓存的,网上是这么介绍:

    缓存(Cache memory)是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。

    看到一篇参考文章:http://blog.chinaunix.net/uid-27575921-id-3480555.html

    totalstorge=读写头数量(其实可以认为是磁盘碟数量)*每个读写头负责的磁柱数量*每个磁柱所含的磁区数量*512Bytes(一个磁区的容量)

    《现代操作系统》中也提到过:

    磁盘格式化后会比没有格式化之前,容量减少20%。减少的量通常取决于前导码、扇区之间的间隙和ecc大小、保留的备用扇区的数目。

    现在也明白了。为什么16g的u盘,按照软件识别的1kb等于1024个字节的计算办法,不是15.2g。而是14.5g,其实就是因为格式化后,实际上可用容量没有那么15.2g的。

    这就好像内存,实际上有4g,但是放到32位的操作系统来识别,可用的只能是3g。

    影响磁盘读取数据的三个因素

    1、寻道时间:让磁头抵达哪个磁道去
    2、旋转延迟:到达了磁道后,让磁头定位到这个磁道的某个扇区上读取数据。因为数据最终存放在扇区上,要旋转才能抵达扇区。旋转的延迟时间就是这个。

    2、传输数据时间:数据读到后,传到内存中,需要的时间。

    占据主导的是寻道时间。其次才是旋转延迟。传输数据其实是很快的。

    有多少个盘片就需要多少个磁头。

    关于磁盘控制器的缓存与操作系统的缓存磁盘块机制


    磁盘控制器是与操作系统独立的。它有自己的高速缓存,一般4m。会划分成两部分空间。一部分用来缓存读的数据,一部分缓存写的数据。
    它的缓存与操作系统(实际上是文件系统)的缓存不同点:
    控制器缓存周围扇区的数据,还没读过的数据。
    操作系统缓存已经读过的磁盘块。

  • 相关阅读:
    配置文件配置网络
    安装Linux centos 7.3
    java二维字符数组的输入
    前端保存JSON文件到本地
    在Springboot中使用swagger2
    Vue better-scroll使用指南
    解决端口占用问题
    CheckSum(校验和)计算
    区分按字寻址与按字节寻址
    进制转换
  • 原文地址:https://www.cnblogs.com/wangtao_20/p/4438916.html
Copyright © 2011-2022 走看看