• 硬盘初识


    机械硬盘和固态硬盘

    机械硬盘(HDD

    Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤

     

    固态硬盘(SSD

    Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、 DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致设备文件

     

    相较于HDD SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势, SSD传输速率性能是HDD2倍。相较于SSD HDD在价格、容量、使用寿命上占有绝对优势

    硬盘有价,数据无价,目前SSD不能完全取代HHD

     

    硬盘接口类型

    并行:

    IDE 133MB/s

    SCSI 640MB/s

    串口:

    SATA 6Gbps

    SAS 6Gbps

    USB 480MB/s

    rpm: rotations

    per minute

     

    硬盘存储术语

       head:磁头

    track:磁道

    cylinder: 柱面

    sector: 扇区, 512bytesmbr

     

    linux设备上,磁盘是有设备编号的

    设备号码:

    主设备号: major number, 标识设备类型

    次设备号: minor number, 标识同一类型下的不同设备

    磁盘设备的设备文件命名: /dev/DEV_FILE

    SCSI, SATA, SAS, IDE,USB: /dev/sd

    虚拟磁盘: /dev/vd

    不同磁盘标识: a-z,aa,ab

    /dev/sda, /dev/sdb, ...

    同一设备上的不同分区: 1,2, ...

    /dev/sda1, /dev/sda5

    机械硬盘结构

    CHS/LBA寻址

    CHS

    C:cylinder

    H:head

    S:sector

        采用24bit位寻址

        其中前10位表示cylinder,中间8位表示head,后面6位表示sector

     

    一个柱面大小:

    512bytes(sector) * 2^6(sector/track) * 2^8(head)

    =8388608bytes=8192Kb=8Mb

          最大寻址空间8GB

    LBAlogical block addressing

    LBA是一个整数,通过转换成CHS格式完成磁盘具体寻址

    LBA采用48bit位寻址

    最大寻址空间128PB

     

    由于CHS寻址方式的寻址空间在大概8GB以内,所以在磁盘容量小于大概8GB时,可以使用CHS寻址方式或是LBA寻址方式;在磁盘容量大于大概8GB时,则只能使用LBA寻址方式

     

    CHSLBA转换

       #c#h#s分别是磁柱、磁头、扇区的编号

    #lba是逻辑区块编号

    H=heads per cylinder,每个磁柱的磁头数

    S=sectors per track,每磁道的扇区数

    #lba=(#c*H+#h)*S+#s-1

    LBA可用以下公式对应到CHS:

    #c=#lba/(S*H)

    #h=(#lba/S)%H

    #s=(#lba%S)+1

    例如:

    CHS总数=[600, 10, 84],求#lba=1234所对应的CHS编号:

     

    #c=1234/(84*10)=1

    #h=(1234/84)%10=4

    #s=(1234%84)+1=59

    所以:

    #chs=(1, 4, 59)

    磁盘分区

    为什么分区

       优化I/O性能

    实现磁盘空间配额限制

    提高修复速度

    隔离系统和程序

    安装多个OS

    采用不同文件系统

    分区方式

       两种分区方式: MBR GPT

    MBR分区格式

    MBR: Master Boot Record 1982年, 使用32位表示扇区数, 分区不超过2T

    如何分区:按柱面

    0磁道0扇区: 512bytes

    446bytes: boot loader

    64bytes:分区表

    16bytes: 标识一个分区

    2bytes: 55AA

    4个主分区; 3主分区+1扩展(N个逻辑分区)

     

    标准的MBR结构

    位址

    功能

    描述

    0000-0088

    主引导程序

    主引导程序

    0089-01BD

    出错信息数据区

    出错区

    01BE-01CD

    分区116字节)

     

     

    分区表

    01CE-01DD

    分区216字节)

    01DE-01ED

    分区316字节)

    01EE-01FD

    分区416字节)

    01FE

    55

     

    结束标志

    01FF

    aa

     

    硬盘分区结构信息

    存储字节数

    内容及含义

    1字节

    引导标志,值为80H表示活动分区,00H表示非活动分区

    2,3,4字节

    本分区的起始磁头号,扇区号,柱面号。其中:

    磁头号-2字节

    扇区号-3字节的低六位

    柱面号-3字节高2位,第4字节8

    5字节

    分区类型符:

    00H-表示该分区未使用

    06H-FAT16基本分区

    0BH-FAT32基本分区

    05H-扩展分区

    07H-NTFS分区

    0FH-LBA模式)扩展分区(83Hlinux分区)

    6,7,8字节

    本分区的结束磁头号,扇区号,柱面号。其中:

    磁头号-6字节

    扇区号-7字节的低六位

    柱面号-7字节高2位,第8字节8

    9,10,11,12字节

    分区起始相对扇区号

    13,14,15,16字节

    分区总的扇区数

     

    GPT分区格式

    GPT:GUIDGlobals Unique Identifiers

    partitiontable 支持128个分区,使用64位,支持8Z512Byte/block 64Z 4096Byte/block)使用128UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动

     

    GPT的分区信息是在分区中,而不象MBR一样在主引导扇区,为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一个保护分区(Protective MBR)的MBR分区表(此分区并不必要),这种分区的类型标识为0xEE,这个保护分区的大小在Windows下为128MBMac OS X下为200MB,在Window磁盘管理器里名为GPT保护分区,可让MBR类磁盘管理软件把GPT看成一个未知格式的分区,而不是错误地当成一个未分区的磁盘。

    另外,为了保护分区表,GPT的分区信息在每个分区的头部和尾部各保存了一份,以便分区表丢失以后进行恢复。

  • 相关阅读:
    Babel:JavaScript编译器
    Webpack:前端资源模块化管理和打包工具
    springboot之RocketMq实现
    spingboot之Java邮件发送
    第一模块总结
    嵌入式面试题(一)
    C/C++练习题(三)
    ToolTip特效 JavaScript 盗取厦门人才网的特效
    C#后台无刷新页面弹出alert方法
    复制表及其只复制表数据的区别
  • 原文地址:https://www.cnblogs.com/duzhaoqi/p/7392327.html
Copyright © 2020-2023  润新知