Linux入门真经-028硬盘结构与linux设备文件

本节为大家介绍硬盘的种类、结构,以及分区相关的基础知识。

我们都知道,硬盘是用于存取数据的。现在常见的硬盘类型有机械硬盘和固态硬盘。而机械硬盘和固态硬盘的结构又有着很大的区别。接下来分别向大家介绍机械硬盘和固态硬盘,然后介绍一些分区必要的基础知识。

 

1、机械硬盘

对于机械硬盘来说,数据存储在磁盘上的磁性介质之中,计算机想要从硬盘中读取数据时,需要遵循相关的硬盘接口协议(如SCSI、SATA、SAS等等)。硬盘接口协议尽管存在不同,但是机械硬盘的结构和运行机制是几乎相同的。

如下图,读/写磁头负责读取和写数据;磁头臂负责带动磁头,将磁头移动到指定位置。而盘片则负责保存写入的数据,通常一个磁盘上下都会堆叠多个盘片,也会有多个磁头,每个盘片都有上下两个盘面。

如下图,以主轴为圆心画圆,会产生多个同心圆,我们称之为磁道,数据就记录在磁道之上。磁道从最大的同心圆向内编号,最外部编号为0。磁道密度越大,能存储的数据就越多。

扇区(Sector)可以理解为磁道同心圆上的一小段圆弧,扇区是磁盘的最小存储单元,一个扇区通常可以存储512B或者4KB的数据(由硬盘规格而定)

同一个磁盘中,每个相同大小的磁道构成了一个圆柱的侧面,我们称之为柱面(Cylinder)。柱面与磁道共同编号,磁头的位置通常取柱面号。

存取数据时,时间主要有三段:

磁盘臂会带动磁头到指定的磁道读取数据,这段时间称为寻道时延。

磁头要等待磁盘要旋转到对应的扇区才能读到数据,此为旋转时延。因此硬盘转速也是机械硬盘的重要参数之一,常见的有5400转、7200转、10000转、15000转等。

磁头对磁盘进行数据的读写和数据传送也需要时间。

这三段时间加起来就是一个存储IO所要花费的时间。

 

2、固态硬盘

 

固态硬盘即我们常说的SSD。从性能上来讲,固态硬盘的性能要比机械硬盘高的多得多。因为固态硬盘是电气设备而非机械设备。

 

而机械硬盘是机械设备,使用机械硬盘时,大把时间都浪费在寻道和旋转时延上。

 

 

而固态硬盘通过电气控制来进行数据的存取,速度要快得多得多。固态硬盘的结构与读写原理涉及一些电路知识,我们没必要了解那么深,因此在此不过多叙述,只说一些固态硬盘的特点:

 

防震性比机械硬盘高

散热低

更耐低温

更省电

没有噪音

和机械硬盘比起来,价格高,容量小。

 

SSD最小的读写单位为页(page)通常为4k,你可以类比机械硬盘中扇区的作用去理解他。

 

3、Linux中的设备文件与分区

 

我们以前讲过讲过,linux中一切皆文件,每个文件都有对应的表示字符,如普通文佳(-),目录文件(d)等等,设备也是文件,常见的设备文件有:

块设备:b,存取单位是块(block),如硬盘

字符设备:c,存取单位是字符,如键盘、终端。

设备文件通常存放在/dev目录下。

 

内核通过设备号来标识设备,每个设备都有唯一的设备号与其对应,设备号分主设备号和次设备号。如:

 

[root@localhost ~]# ll /dev/sd*

brw-rw----. 1 root disk 8,  0 Aug 22 14:30 /dev/sda

brw-rw----. 1 root disk 8,  1 Aug 22 14:30 /dev/sda1

brw-rw----. 1 root disk 8,  2 Aug 22 14:30 /dev/sda2

brw-rw----. 1 root disk 8, 16 Aug 23 06:05/dev/sdb

[root@localhost ~]#

 

上例中的8,0(sda);8,1(sda1)就是设备号,主次设备号用逗号隔开;

主设备号:major number 标识设备类型

次设备号:minor number:标识同一类型下的不同设备。

 

硬盘属于块设备。不同类型的硬盘命名会略有差异,比如:

IDE接口的硬盘通常命名为:had,hdb,hdc等等

SCSI、SATA、SAS、SSD、USB接口的通常命名为:sda,sdb,sdc等等

 

有时候一个磁盘的存储空间较大,我们要对齐空间进行分割以存储不通类型的内容,此时就需要分区。我们指定从哪个柱面到哪个柱面(或者多大的大小)为一个分区。对于机械硬盘而言,分区之后,在同一个盘面上的逻辑表现应该是多个同心圆环。

分区之后还需要建立文件系统才可以进行文件存取。每个文件系统都会定义一个磁头所能读取的最小数据单元,我们称之为块(block)。

这些内容在下一节具体讲如何分区时,你的体会会更深刻。

 

关注本公众号获取每日更新

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值