硬盘初识

机械硬盘和固态硬盘

机械硬盘(HDD

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

固态硬盘(SSD

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

相较于HDD, SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势, SSD传输速率性能是HDD的2倍。相较于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: 扇区, 512bytes(mbr)

在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

LBA(logical block addressing)

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

LBA采用48个bit位寻址

最大寻址空间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


分区1(16字节)


分区表


01CE-01DD


分区2(16字节)


01DE-01ED


分区3(16字节)


01EE-01FD


分区4(16字节)


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模式)扩展分区(83H为linux分区)


第6,7,8字节


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

磁头号-第6字节

扇区号-第7字节的低六位

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


第9,10,11,12字节


分区起始相对扇区号


第13,14,15,16字节


分区总的扇区数

GPT分区格式

GPT:GUID(Globals Unique Identifiers)

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

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

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

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 12.0pt; font-family: Consolas }
h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left: 0cm; text-align: justify; line-height: 240%; page-break-after: avoid; font-size: 22.0pt; font-family: Consolas }
h2 { margin-top: 13.0pt; margin-right: 0cm; margin-bottom: 13.0pt; margin-left: 0cm; text-align: justify; line-height: 173%; page-break-after: avoid; font-size: 16.0pt; font-family: "等线 Light" }
h3 { margin-top: 13.0pt; margin-right: 0cm; margin-bottom: 13.0pt; margin-left: 0cm; text-align: justify; line-height: 173%; page-break-after: avoid; font-size: 16.0pt; font-family: Consolas }
h4 { margin-top: 14.0pt; margin-right: 0cm; margin-bottom: 14.5pt; margin-left: 0cm; text-align: justify; line-height: 156%; page-break-after: avoid; font-size: 14.0pt; font-family: "等线 Light" }
pre { margin: 0cm; margin-bottom: .0001pt; font-size: 12.0pt; font-family: 宋体 }
p.MsoAcetate,li.MsoAcetate,div.MsoAcetate { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 9.0pt; font-family: Consolas }
span.2Char
{ font-family: "等线 Light"; font-weight: bold }
span.1Char
{ font-weight: bold }
span.Char { }
span.3Char
{ font-weight: bold }
span.HTMLChar { font-family: 宋体 }
span.4Char
{ font-family: "等线 Light"; font-weight: bold }
.MsoChpDefault { font-size: 12.0pt; font-family: Consolas }
div.WordSection1 { }

时间: 2024-10-17 13:24:52

硬盘初识的相关文章

Ubuntu 16.04无损分区大小调整工具Gparted

Ubuntu 16.04无损分区大小调整工具Gparted 2018年03月13日 16:16:46 kunkliu 阅读数:11868更多 个人分类: Ubuntu环境搭建 转载地址:https://www.cnblogs.com/EasonJim/p/7617689.html 安装: sudo apt-get install gparted 使用: 注意: 这款软件可以调整分区大小,且支持无损,但是对于/根目录的分区无法调整,但是它提供ISO工具,可以启动后进行调整. 下载地址:https:

初识操作系统和linux

初识操作系统和linux 1.计算机系统由硬件系统和软件系统两大部分组成:是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动.高速地处理,然后把处理结果输出的现代化智能电子设备. 2.世界上第一台计算机是1946年诞生在美国宾州大学. 3.冯·诺依曼体系结构:1946年数学家冯·诺依曼于提出计算机硬件系统由运算器.控制器.存储器.输入设备.输出设备.摩根定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍.现在计算机技术进本很难遵

python初识-day2

1.模块初识 python中的库包括标准库和第三方库,需要使用时可直接导入,导入格式为"import  库模块",例如: 1 import sys #sys为python的标准库 2 print(sys.path) #打印环境变量 3 print(sys.argv) #打印相对路径 再如: 1 import os 2 cmd_res = os.system('dir') #仅执行命令,不保存结果 3 print('-->',cmd_res) #打印结果为0,表示运行成功了了 4

python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sys.argv) #打印相对路径,在pycharm输出结果是绝对路径,因为在pycharm中调用 print(sys.argv[2]) #可以从数据列表中取值,[2]指取第三位.        标准库存放位置:C:\Python35\Lib 第三方库存放位置C:\Python35\Lib\site-p

javascript基础——初识javascript

每一门语言的学习都是从HelloWorld开始的,我今天也遵循这个原则吧!先上一段代码,认识一下javascript <html><head><title>初识javascript</title><script language="javascript" type="text/javascript"><!--alert("Hello World Wide Web!")//-->

Redis——学习之路三(初识redis config配置)

我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. 我们就从上到下来理解一下这些配置信息中的某些配置: 1.dbfilename是本地持久化存储数据库文件名,默认为dump.rdb.我可以在安装目录文件夹下找到这个文件. 2.requirepass是密码,即连接服务器的密码,默认为空.下面我来设置一个密码然后用带密码的命令连接一遍. 3.msterauth

初识 MySQL 5.6 新功能、参数

摘要: 继上一篇的文章 初识 MySQL 5.5 新功能.参数 之后,现在MySQL5.6 针对 MySQL5.5 各个方面又提升了很多,特别在性能和一些新参数上面,现在看看大致提升了哪些方面(后续不定时更新). 一:性能.功能上的提升. ① 在线DDL即 online DDL,日常的增删字段和索引都不会出现问题,但还是有很多操作不支持完全的在线DDL,包括增加一个全文索引,修改列的数据类型,删除一个主键,修改表的字符集等,其中主键可以通过自己指定的方式进行操作,操作方式有2种:algorith

Restful Web Service初识

Restful Web Service初识 一.Web Services Web Services 是一种基于组件的软件平台,是面向服务的Internet 应用.Web Services 框架的核心技术包括SOAP ,WSDL 和UDDI ,它们都是以标准的XML 文档的形式表示. SOAP (“Simple Object Access Protocol”的缩写)是Web Services 的通信协议.SOAP是一种简单的.轻量级的基于XML 的机制,用于在网络应用程序之间进行结构化数据交换.S

python学习笔记(模块初识、pyc和PyCodeObject是什么)

一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sys.argv) #打印相对路径,在pycharm输出结果是绝对路径,因为在pycharm中调用 print(sys.argv[2]) #可以从数据列表中取值,[2]指取第三位.        标准库存放位置:C:\Python35\Lib 第三方库存放位置C:\Python35\Lib\site-p