物理磁盘名次和其作用

盘片:disk

盘片上下都有磁头。

磁盘面:

盘片有上下两面,每一面叫磁盘面

磁头:heads

每个磁头负责一个磁盘面,负责读取数据、将数据写入磁道。
磁头都是固定在机械臂上(机械臂就是磁头臂组支架)

磁道:track

每个磁盘面上围绕圆心划分出多个同心圆环,每个圆圈叫做磁道。
从磁盘面外圈开始向圈内数,磁道号从0逐渐递增1.也就是最外圈的磁道号是0,想内圈开始逐步递增+1

扇区:sectors

扇区上记录物理数据、扇区号、磁头号(磁盘片号,就是第几个磁盘片面)、磁道号.

每个磁道以512字节(并非一定是512,因为可以设置,只不过默认大多数是512字节)等分划分多个弧段,每个段就是一个扇区。(这些弧段划分后就是一个扇形,所以叫扇区)
外圈的磁道大。内圈的磁道小。所以外圈磁道所拥有的扇区数就多,内圈磁道所拥有的扇区数就少。
有些硬盘参数会标注上磁道的范围如:373-768,表示最外圈磁道有768个扇区,最内圈有373个扇区。

柱面:cylinders

磁盘面上的同一个位置的磁道组成的立体叫做一个柱面。

按照磁盘的物理性来讲,现在的分区大多数都是基于柱面的划分。

磁盘或分区容量计算方式

磁盘大小=unit * 柱面数(cylinders)
或者
磁盘大小=磁盘面数(heads) * 每个磁道上的平均扇区数(sectors/track) * 512 * 柱面数 (cylinders) 例子: [root@test ~]# fdisk -l /dev/sda Disk /dev/sda: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders
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: 0x000990c6 Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 39163 314059776 8e Linux LVM 所以/dev/sda大小为:
255*63*512*39162=‭322,118,415,360‬ === 将byte转换为GB,就是322118415360/1000/1000/1000=‭322.11841536‬ GB
8225280*39162=‭322,118,415,360‬ === 将byte转换为GB,就是322118415360/1000/1000/1000=‭322.11841536‬ GB
MBR:占用512byte
其中446byte作为bootloader
剩余64byte作为DPT(disk partation table磁盘分区表)
每个分区占用16byte,因此64/16=4,MRB只能分4个主分区(primary,P)。
通过建立拓展分区后(extend,E),在拓展分区上再建立逻辑分区(logical,L)几乎可以实现无限制分区。
最后2byte是校验位:55aa GPT:可以分区128个主分区,且支持2TB以上的独立分区。

其他

磁盘块/簇(虚拟出来的)。 块是操作系统中最小的逻辑存储单位。操作系统与磁盘打交道的最小单位是磁盘块。
通俗的来讲,在Windows下如NTFS等文件系统中叫做簇;在Linux下如Ext4等文件系统中叫做块(block)。每个簇或者块可以包括2、4、8、16、32、64…2的n次方个扇区。
https://blog.csdn.net/HandsomeHong/article/details/123101771
这篇文章扇区哪里讲得不完全正确,因为她只说到了旧的扇区划分方式,新的扇区划分都是同密度的,所以外圈扇区比内圈扇区多,每个扇区的密度都是一样,而不是像旧的方式,外圈扇区密度小,内圈扇区密度大。 https://cloud.tencent.com/developer/article/1999925

Linux磁盘专题的更多相关文章

  1. Linux磁盘IO监控[zz]

    磁盘 I/O 监控是 Unix/Linux 系统管理中一个非常重要的组成部分.它可以监控吞吐量.每秒 I/O 数.磁盘利用率.服务时间等信息,并且在发现异常时,发送告警信息给系统管理员,便于系统管理员 ...

  2. linux磁盘分区模式

    linux磁盘分区模式 模式一:MBR 1)主分区不超过四个 2)单个分区容量最大2TB 模式二:GPT 1)主分区个数"几乎"没有限制(原因:在GPT的分区表中最多可以支持128 ...

  3. MySQL 调优基础(四) Linux 磁盘IO

    1. IO处理过程 磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言.数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以wri ...

  4. <实训|第七天>横扫Linux磁盘分区、软件安装障碍附制作软件仓库

    期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...

  5. 调整Linux磁盘分区的大小的方法

      昨天数据入库时,一直报错,说磁盘满了,,df -h    一看,发现/目录下只有50G空间,已使用49G:我的程序和dbss都安装在/目录下,ftp到的数据放在/data下的一个子目录下,分解完的 ...

  6. Linux 磁盘管理

    Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...

  7. Linux磁盘、目录、文件操作命令

    0x01. Linux磁盘分区与目录结构 ① 主分区.拓展分区.逻辑分区:早期主引导扇区MBR用64B存放主分区信息,每个分区用16B,因而上限为4个主分区,后来,因分区需求,引入拓展分区(类主分区) ...

  8. Linux磁盘分区与格式化

    磁盘分区格式说明 linux分区不同于windows linux下分区标示: 例如:hda1 hd这两个字母表示分区所在的设备类型,hd标示IDE类型硬盘,sd表示SCSI类型硬盘 第三字母a标示硬盘 ...

  9. Linux磁盘空间被未知资源耗尽【转】

    Linux磁盘空间被未知资源耗尽 在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间, ...

  10. df、du、fdisk:Linux磁盘管理三板斧的使用心得(转载)

    From:http://os.51cto.com/art/201012/240726_all.htm 作者介绍:李洋(博客),博士毕业于中科院计算所.10多年来一直从事计算机网络信息安全研发工作,曾主 ...

随机推荐

  1. Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.so

    在安装Docker以后,执行命令出现错误. Got permission denied while trying to connect to the Docker daemon socket at u ...

  2. tomcat远程部署

    使用maven的插件对tomcat进行远程部署,大大降低了部署步骤,对于远程部署调试也有一定的帮助 要让maven对够进行远程部署,我们需要对tomcat进行配置,主要是配置tomcat-user.x ...

  3. RocketMQ 系列(四) 消息存储

    RocketMQ 系列(四) 消息存储 本文是 RocketMQ 系列的第四篇,下面是前面几篇的文章,不清楚的话点击看一下吧. RocketMQ系列(一) 基本介绍 RocketMQ 系列(二) 环境 ...

  4. .NET C#基础(9):资源释放 - 需要介入的资源管理

    1. 什么是IDisposable?   IDisposable接口是一个用于约定可进行释放资源操作的接口,一个类实现该接口则意味着可以使用接口约定的方法Dispose来释放资源.其定义如下: pub ...

  5. 「joisc 2019 - d2t2」ふたつの料理 Two Dishes

    [link.](E - ふたつの料理 (Two Dishes) (atcoder.jp) 我要放假 神仙题. 首先可以把两根轴拉成平面(which is a common trick),把决策的过程看 ...

  6. Solution Set -「ABC 205」

    应该是最近最水的 ABC 了吧. 「ABC 205A」kcal Link. 略 #include <bits/stdc++.h> using ll = long long; #define ...

  7. frida动态插桩初探

    前言 近期碰到了分析app的需求,就学习了一下 frida的动态插桩技术.frida是一款轻量级HOOK框架,可用于多平台上,例如android.windows.ios等.frida分为两部分,服务端 ...

  8. MyBatis foreach循环批量修改数据时报错

    报错如下 org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: java.sql.S ...

  9. D 算法模板(Boruvka's Algorithm)

    Description 为了方便你测试,本题为D题简化版. You are given a complete undirected graph with nn vertices. A number a ...

  10. Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别

    前言 今天给大家分享一个SpringBoot整合Tess4j库实现图片文字识别的小案例,希望xdm喜欢. 文末有案例代码的Git地址,可以自己下载了去玩玩儿或继续扩展也行. 话不多说,开整吧. 什么是 ...