磁盘知识体系概括

机械硬盘和固态硬盘

机械磁盘剖开图

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

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

磁盘结构详解

磁盘外部结构

组成

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

转速

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

Linux之初识磁盘的更多相关文章

  1. Linux入门——初识Linux

    Linux入门——初识Linux 摘要:本文主要说明了Linux是什么,Linux发展历史,以及同Linux系统有关的一些基本知识. 简介 操作系统 Linux系统同Windows系统.Mac系统一样 ...

  2. Linux下的磁盘分割和文件系统

    一.各硬件装置在Linux下的文件名 1.IDE硬盘机 在Linux内的文件名: /dev/hd[a-d]  (a-d 刚好是四个这个是有原因的具体如下) 解释:以 IDE 接口来说,由于一个 IDE ...

  3. VMware Linux Guest 增加磁盘无需重启的方法

    摘要     常常需要需要给VMware Linux Guest增加磁盘适配一些测试场景,而又不想花费时间重启Guest,查找文档,发现一种简单的方法,记录一下操作步骤. 操作步骤 1 编辑Linux ...

  4. 如何在 Linux 中整理磁盘碎片

    有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀的日志文件系统(ext3.4等等)来处理文件系统.然而,在一些特殊情况下,碎片仍旧会产生.如果正巧发 ...

  5. Linux Shell查看磁盘分区,内存使用,CPU使用率

    Linux Shell查看磁盘分区,内存使用,CPU使用率 #!/bin/bash #disk_used_rate Location=/dev/xvdb Disk_Used_Rate=$(df -h ...

  6. linux系统查看磁盘分区使用空间

    Df命令是linux系统以磁盘分区使用空间:df -hl

  7. 转载:为什么Linux不需要磁盘碎片整理

    转载自:www.aqee.net 如果你是个Linux用户,你可能听说过不需要去对你的linux文件系统进行磁盘碎片整理.也许你注意到了,在Liunx安装发布包里没有磁盘碎片整理的工具.为什么会这样? ...

  8. Linux系统的磁盘管理

    Linux系统的磁盘管理有三个命令:df.du.fdisk. df:列出Linux中所有文件系统的整体磁盘使用量: du:对文件和目录所占用磁盘空间的查看: fdisk:用于磁盘分区时列出所有的磁盘. ...

  9. linux下测试磁盘的读写IO速度-简易方法

    linux下测试磁盘的读写IO速度-简易方法 参考资料:https://blog.csdn.net/zqtsx/article/details/25487185 一:使用hdparm命令 这是一个是用 ...

随机推荐

  1. 关于Maven项目build时出现No compiler is provided in this environment的处理

    版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/lslk9898/article/details/73836745 近日有同事遇到在编译Maven项目时 ...

  2. [PHP] 算法-顺时针打印矩阵的PHP实现

    1.行数和列数取出来row,col,圈数就是 (较小值-1)/2+1 2.外层循环控制圈数,内层四个for循环,i 3.第一个for循环,从左到右,j=i;j<col-i;j++;j<; ...

  3. [angularjs] 前端路由实现单页跳转

    代码: <div ng-app="Home"> <div ui-view></div> <div ng-controller=" ...

  4. 25.QT-模型视图

    模型视图设计模式的核心思想 使模型(数据)与视图(显示)相分离 模型只需要对外提供标准接口存取数据,无需数据如何显示 视图只需要自定义数据的显示方式,无需数据如何组织存储 当数据发生改变时,会通过信号 ...

  5. CSS基础知识思维导图xmind

    这是我根据自己的学习笔记整理的思维导图,WEB前端的知识很多,汇总来看会比较清晰.

  6. 13 ,CSS 入门基础,行内排版内嵌式排版和外部排版样式

    1.认识 CSS 2.传统 HTML 设计网页版面的缺点 3.CSS 的特点 4.CSS 的排版样式 13.1 认识CSS CSS的英文全名是 Cascading Style Sheets,中文可翻译 ...

  7. #WEB安全基础:HTML/CSS | 0x0 我的第一个网页

    #WEB安全基础:HTML/CSS系列,本系列采用第二人称以免你不知道我在对着你说话,以朋友的视角和你交流 HTML的中文名叫做超文本标记语言,CSS叫做层叠样式表 用HTML设计你的第一个网页,你需 ...

  8. 使用hibernate报错java.lang.ExceptionInInitializerError的处理方法

    今天使用hibernate搭建持久层出现一个问题 原因在于  在创建user liberty时同时勾选了System Library(added to the boot class )path

  9. bat 批处理获取时间语法格式

    bat 批处理获取时间语法格式 取年份:echo %date:~0,4%  取月份:echo %date:~5,2%  取日期:echo %date:~8,2%  取星期:echo %date:~10 ...

  10. Python 一键上传下载&一键提交文件到SVN入基线工具

    一键上传下载&一键提交文件到SVN入基线工具   by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用说明 1   注: 根据我司项目规则订制的一套工具,集成以下功能,源码 ...