p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 14.0pt; font-family: 等线 }
h1 { margin: 0cm; margin-bottom: .0001pt; text-align: justify; line-height: 30.0pt; page-break-after: avoid; font-size: 18.0pt; font-family: 等线; font-weight: bold }
h2 { margin: 0cm; margin-bottom: .0001pt; text-align: left; line-height: 30.0pt; page-break-after: avoid; font-size: 18.0pt; font-family: 楷体; font-weight: bold }
h3 { margin: 0cm; margin-bottom: .0001pt; text-align: justify; line-height: 30.0pt; page-break-after: avoid; font-size: 16.0pt; font-family: 等线; font-weight: bold }
p.MsoToc1,li.MsoToc1,div.MsoToc1 { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 14.0pt; font-family: 等线 }
p.MsoToc2,li.MsoToc2,div.MsoToc2 { margin-top: 0cm; margin-right: 0cm; margin-left: 21.0pt; margin-bottom: .0001pt; text-align: justify; font-size: 14.0pt; font-family: 等线 }
p.MsoToc3,li.MsoToc3,div.MsoToc3 { margin-top: 0cm; margin-right: 0cm; margin-left: 42.0pt; margin-bottom: .0001pt; text-align: justify; font-size: 14.0pt; font-family: 等线 }
p.MsoHeader,li.MsoHeader,div.MsoHeader { margin: 0cm; margin-bottom: .0001pt; text-align: center; border: none; padding: 0cm; font-size: 9.0pt; font-family: 等线 }
p.MsoFooter,li.MsoFooter,div.MsoFooter { margin: 0cm; margin-bottom: .0001pt; text-align: left; font-size: 9.0pt; font-family: 等线 }
p.MsoTitle,li.MsoTitle,div.MsoTitle { margin-top: 12.0pt; margin-right: 0cm; margin-bottom: 3.0pt; margin-left: 0cm; text-align: center; font-size: 16.0pt; font-family: "等线 Light"; font-weight: bold }
a:link,span.MsoHyperlink { color: #0563C1; text-decoration: underline }
a:visited,span.MsoHyperlinkFollowed { color: #954F72; text-decoration: underline }
p { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 12.0pt; font-family: "Times New Roman", serif }
p.MsoNoSpacing,li.MsoNoSpacing,div.MsoNoSpacing { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 14.0pt; font-family: 等线 }
p.MsoListParagraph,li.MsoListParagraph,div.MsoListParagraph { margin: 0cm; margin-bottom: .0001pt; text-align: justify; text-indent: 21.0pt; font-size: 14.0pt; font-family: 等线 }
span.2
{ font-family: 楷体; font-weight: bold }
span.3
{ font-family: 楷体; font-weight: bold }
span.1
{ font-family: 黑体; font-weight: bold }
span.a { font-family: 楷体 }
span.a0 { font-family: 楷体 }
span.a1 { font-family: "等线 Light"; font-weight: bold }
.MsoChpDefault { font-family: 等线 }
div.WordSection1 { }
ol { margin-bottom: 0cm }
ul { margin-bottom: 0cm }
前言
一、设备文件
1、设备类型
2、设备文件
3、设备号码
4、硬盘接口类型
5、机械硬盘和固态硬盘
6、设备文件的命名
7、磁盘储存术语
8、寻址方式
8.1 CHS寻址方式
8.2 LBA寻址方式
8.3 CHS和LBA地址互换
8.4 补充扩展
二、磁盘分区
1、为什么分区?分区的优点有哪些?
2、分区方式
2.1 MBR分区方式
2.2 GPT分区
前言
我们的计算机是有五大部件组成:输入设备、输出设备、运算器、控制器和存储器。其中运算器和控制器我们称之为CPU 。其实我们的计算机只要拥有了CPU和内存,就可以独立完成计算任务了。但是内存属于随机存储设备,断电会导致数据的丢失。因此,我们需要其它存储设备来弥补内存这个不足,如:磁盘、光盘等。
本文中,我们就来介绍一些关于磁盘的基础知识。
一、设备文件
1、设备类型:
块设备:block,存取单位“块”,磁盘。
字符设备:char,存取单位“字符”,键盘。
2、设备文件:
关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信。
3、设备号码:
主设备号:major number,标识设备类型
次设备号:minor number,标识同一类型下的不同设备
4、硬盘接口类型
- 并行:IDE:133MB/s
SCSI:640MB/s
- 串口:SATA:6Gbps
SAS:6Gbps
USB:480MB/s
5、机械硬盘和固态硬盘
- 机械硬盘
Hard Disk Drive,机械硬盘就是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤。
- 固态硬盘
Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、 DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致。
6、设备文件的命名:/dev/DEV_FILE
6.1 SCSI,SATA,SAS,IDE,USB命名方式:/dev/sd
6.1.1不同磁盘标识:a-z,aa,ab……
/dev/sda,/dev/sdb……
6.1.2 同一设备上的不同分区:1,2……
/dev/sda1,/dev/sda2……
6.2 虚拟磁盘:/dev/vd
7、磁盘储存术语
head:磁头
track:磁道
cylinder:柱面
sector:扇区
注:一个硬盘有256(2^8)个扇面(上下两面所以一共512个扇面)
一个扇面有1024(2^10)个磁道
一个磁道有64(2^6)个扇区
机械硬盘结构
8、寻址方式
8.1 CHS寻址方式
CHS是一个三元组,组成如下:
- 一共24个bit位。
- 其中前10位表示cylinder,中间8位表示head,后面6位表示sector。
- 最大寻址空间8GB
知道了磁头数、柱面数、扇区数,就可以很容易地确定数据保存在硬盘的哪个位置。也很容易确定硬盘的容量,其计算公式是:
硬盘容量=磁头数×柱面数×扇区数×512字节
8.2 LBA寻址方式
- LBA是一个整数,通过转换成CHS格式完成磁盘具体寻址
- LBA采用48个bit位寻址
- 最大寻址空间128PB
8.3 CHS和LBA地址互换
8.3.1 CHS转成LBA:
#lba=(#c*H+#h)*S+#s-1
其中:
8.3.2 LBA转成CHS
- #c=#lba/(S*H)
- #h=(#lba/S)%H
- #s=(#lba%S)+1
其中:
- /是整数除法
- %是取整数除法中的余数
- 请注意,当今的磁盘使用ZBR(Zone Bit Recording, 等密度记录)方式,实际的每轨扇区数得根据它是哪一轨。不过磁盘还是会提供这个参数来符合公式,内部再自动调整。
8.4 补充扩展
a、CHS方式寻址是在传统的扇区分布下进行的,即过盘片中心画直线来分扇区,具体如下图所示:
而LBA转换为CHS寻址则使用的ZBR(Zone Bit Recording)方式分配扇区,即圆周上的扇区长短都一样。
b、磁盘在经过磁盘低级格式化程序格式化后,才出现有扇区、磁道这些对象(一个柱面是由各个盘面上的同一位置的磁道组成的,所以柱面不是磁盘低级格式化程序直接产生出来的对象,而是由磁道这个对象引申出来的一个概念)的。
(不同的)磁盘低级格式化程序采用不同的寻址方式算法时,盘面划分后的图像也不一样(如上图)。
一个磁盘,比如,原先使用的CHS寻址方式,后来可以修改为LBA寻址方式,当然这样盘面划分后的图像也变了,总之,一个磁盘可以修改它的寻址方式。
c、还有,由于CHS寻址方式的寻址空间在大概8GB以内,所以在磁盘容量小于大概8GB时,可以使用CHS寻址方式或是LBA寻址方式;在磁盘容量大于大概8GB时,则只能使用LBA寻址方式。
二、磁盘分区
1、为什么分区?分区的优点有哪些?
- 优化I/O性能
- 实现磁盘空间配额限制
- 提高修复速度
- 隔离系统和程序
- 安装多个OS
- 采用不同文件系统
2、分区方式
2.1 MBR分区方式
2.1.1 简介
MBR是一种按柱面分区的方式,使用32位表示扇区数,分区不超过2T。可以分4个主分区,其中3个主分区加一个扩展分区(包含N个逻辑分区)。
0磁道0扇区总大小为512bytes,
446bytes:boot loader
64bytes:分区表
16byte:标识一个分区
2bytes:55AA(结束位)
2.1.2 MBR硬盘分区结构图
2.1.3 标准的MBR结构表
位址 |
功能 |
描述 |
0000-0088 |
主引导程序 |
主引导程序 |
0089-01BD |
出错信息数据区 |
出错区 |
01BE-01CD |
分区1(16字节) |
分区表 |
01CE-01DD |
分区2(16字节) |
|
01DE-01ED |
分区3(16字节) |
|
01EE-01FD |
分区4(16字节) |
|
01FE |
55 |
结束标志 |
01FF |
aa |
对应到我电脑中的分区:
2.1.4 MBR硬盘分区结构信息
存贮字节位 |
内容及含义 |
第1字节 |
引导标志,若值为80H表示活动分区,若值为00H表示非活动分区。 |
第2、3、4字节 |
本分区的其实磁头号、扇区号、柱面号。其中: 磁头号—第2字节; 扇区号—第3字节的低6位; 柱面号—第3字节高2位+第4字节8位。 |
第5字节 |
分区类型符。 00H—表示该分区未用(即没有指定); 06H—FAT16基本分区; 0BH—FAT32基本分区; 05H—扩展分区; 07H—NTFS分区; 0FH—(LBA模式)扩展分区(83H为Linux分区等)。 |
第6、7、8字节 |
本分区的结束磁头号、扇区号、柱面号。其中: 磁头号—第6字节; 扇区号—第7字节的低6位; 柱面号—第7字节高2位+第8字节8位。 |
第9、10、11、12字节 |
本分区之前已用了的扇区数。 |
第13、14、15、16字节 |
本分区的总扇区数。 |
2.2 GPT分区
2.2.1 简介
GPT分区支持128个分区,使用64位,支持8Z(512Byte/block)和64Z(4096Byte/block)。
使用128位UUID表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位。
2.2.2 保护MBR
保护MBR包含一个DOS分区表(LBA0),只包含一个类型值为0xEE的分区项,在小于2TB的磁盘上,大小为整个磁盘;在更大的磁盘上,它的大小固定为2TB。它的作用是阻止不能识别GPT分区的磁盘工具试图对其进行格式化等操作,所以该扇区被称为“保护MBR”。
2.2.3 EFI
EFI部分又可以 4个区域:EFI信息区(GPT头)、分区表、GPT分区、备份区域。
EFI信息区(GPT头)
起始于磁盘的LBA1,通常也只占用这个单一扇区。其作用是定义分区表的位置和大小。GPT头还包含头和分区表的校验和,这样就可以及时发现错误。
分区表
分区表区域包含分区表项。这个区域由GPT头定义,一般占用磁盘的LBA2~LBA33扇区。分区表中的每个分区项由起始地址、结束地址、类型值、名字、属性标志、GUID值组成。分区表建立后,128位的GUID对系统来说是唯一的。
GPT分区
最大的区域,由分配给分区的扇区组成。这个区域的起始和结束地址由GPT头定义。
备份区
备份区域位于磁盘的尾部,包含GPT头和分区表的备份。它占用GPT结束扇区和EFI结束扇区之间的33个扇区。其中最后一个扇区用来备份1号扇区的EFI信息,其余的32个扇区用来备份LBA2~LBA3扇区的分区表。
以上,如有不足之处还请大家多多指教喏ヾ(?°?°?)??