zoukankan      html  css  js  c++  java
  • Linux之初识磁盘

    磁盘知识体系概括

    机械硬盘和固态硬盘

    机械磁盘剖开图

    磁盘工作的视频动画,主轴转动,机械手读写

    模拟磁盘工作视频,点击中间三角播放

    磁盘结构详解

    磁盘外部结构

    组成

    主要由三部分组成:盘片、主轴(机械硬盘)、磁头。

    转速

    SAS硬盘,根据转速来划分,有常见的三种

    7200转      容量在1TB~10TB

    10K转        容量在300G~1.8T

    15k转         容量在300G~900G

    注:转速的表达用rpm,即round per minute

    接口类型

    磁盘接口:水壶的壶嘴,定义与服务器如何连接,将决定数据的读写速度

    SATA, 也叫串口

    SCSI,最早用于高端服务器,特点就是速度快,造价高

    SAS,既要scsi的性能,又要sata的方便,就诞生了SAS

    PCI-E,最初主要用于快速的设备价格最高,速度最快,网卡、显卡。慢慢的出现了硬盘,现在主要用于固态硬盘

    机械硬盘一般用SATA、SAS;固态硬盘sata、sas、pci-e都有用

    百度不同接口的图片,以他们的区别不同

    磁盘内部组成

    磁头(Head)

    由上到下,从0开始编号

    盘面数量 == 磁头数量

    作用:用来写入和读取数据的

    磁道(Track)

    由外向内,从0开始编号

    以主轴为中心的不同的圆环区域(呼啦圈)

    扇区(Sector)

    一个磁道上面的最小单位,从数字1开始

    默认大小512字节

    柱面(Cylinder)

    不同盘面上相同的磁道,组成的图形(圆柱体)。

    柱面的数量 == 磁道的数量

    磁盘默认是按照柱面进行读写。

    两种读写的方式:

    磁头的切换---0磁头切换为1磁头,由电信号控制

    磁道的变化(寻道)--- 机械的变化

    单元块(Units)

    表示一个柱面的大小(其实是固定的)

    计算磁盘的大小

    磁盘的大小 = 柱面数量 * 每个柱面的大小

    柱面的大小 = 磁道的大小 * 磁头的数量

    磁道的大小 = 扇区的大小 * 每个磁道的扇区数量

    [root@learn-Linux001 ~]# fdisk -l
    
    Disk /dev/sda: 8589 MB, 8589934592 bytes
    255 heads, 63 sectors/track, 1044 cylinders
    # 255磁头    63扇区/磁道        1044柱面 
    Units = cylinders of 16065 * 512 = 8225280 bytes
    # 一个单元块的大小(柱面的大小)
    
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000ad34b
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          26      204800   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              26         124      786432   82  Linux swap / Solaris
    Partition 2 does not end on cylinder boundary.
    /dev/sda3             124        1045     7396352   83  Linux

    计算

    [root@learn-Linux001 ~]# echo 512*63|bc
    32256
    [root@learn-Linux001 ~]# #磁道的大小
    [root@learn-Linux001 ~]# echo 512*63|bc
    32256
    [root@learn-Linux001 ~]# #柱面的大小
    [root@learn-Linux001 ~]# echo 512*63*255|bc
    8225280
    [root@learn-Linux001 ~]# #磁盘的大小
    [root@learn-Linux001 ~]# echo 512*63*255*1044|bc
    8587192320

    磁盘容量单位与常见的计算方法

    位:bit

    字节:Byte ,等于8bit

    1kb = 1024Byte

    1mb = 1024kb = 1024*1024 Byte

    GB、TB、.......

    但是硬件厂商的是按照1000来计算的。所以,买回来的硬盘500GB硬盘实际可以使用的是465GB左右。

    [root@learn-Linux001 ~]# #将上面的结果换算成G
    
    [root@learn-Linux001 ~]# echo 512*63*255*1044/1024/1024/1024|bc
    7
    [root@learn-Linux001 ~]# #结果不对,变成了7.因为bc是基础计算器,只能算整数
    [root@learn-Linux001 ~]# #我们需要使用awk
    
    [root@learn-Linux001 ~]# awk 'BEGIN{print 1/3}'
    0.333333
    [root@learn-Linux001 ~]# awk 'BEGIN{print 512*63*255*1044/1024/1024/1024}'
    7.99745
    [root@learn-Linux001 ~]# 

    磁盘的选择

    固态硬盘和机械硬盘的区别

    diy.pconline.com.cn/750/7501340.html  固态硬盘的颗粒详细介绍

    https://www.mydigitaldiscount.com/everything-you-need-to-know-about-slc-mlc-and-tlc-nand-flash.html

  • 相关阅读:
    HTML5新增标签
    json和jsonp(json是目的,jsonp是手段)
    xml和json的区别
    display:inline 和display:inline-block和display:block的区别
    前后端数据交互方法(2)
    前端后端是如何交互的
    前端工程师的价值
    angularjs简述
    spring学习
    Hibernate(JPA ) 查询返回只有一个字段,返回类型设置为List<object []>,取值报错
  • 原文地址:https://www.cnblogs.com/yxiaodao/p/10354941.html
Copyright © 2011-2022 走看看