一、硬盘

硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据。硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统。硬盘的主要行为就是数据的存放和取出。

构成硬盘的基本元件,主要可以分为实际存储数据用的磁盘(Plat Platter)、读取数据用的磁头(Head)、帮助磁头搜寻读取位置的马达等等,这些元件构成一个能够在不同磁盘上的任意位置读取数据的结构体。

二、磁盘(Plat Platter)

磁盘是硬盘中真正用来存储信息的部分,外观上如同圆盘一样,中间有孔可供马达运转轴通过(硬盘必须经过不断旋转磁盘才能找到数据),每个硬盘都有至少一个以上的磁盘。

一般来说硬盘中磁盘的大小,目前主要有 3.5 英寸和 5.25 英寸两种,而笔记本计算机所使用的磁盘大小一般为 2.5 英寸,有些甚至只有 1 英寸,大型磁盘防震的能力较差,而且一般来说磁盘越大硬盘的性能越差(因为磁盘的旋转速度降低,在磁盘上搜寻数据的时间会变长),不过因为表面积较大,所以能够存放的数据也就较多。

大部分磁盘都是以铝合金制成,而由于磁盘运转的速度较高,磁盘表面必须相当光滑,而重量的分布也必须相当均匀。而磁盘铝合金的表面,则涂了一层磁性物质,以供数据写入之用(写入或读取数据事实上都是在这层磁性物质上,与铝合金无关),这个磁性物质是利用电镀或溅镀的方法涂上,因此分布相当均匀,最后在磁性物质上,会再加上一层薄薄的保护膜,以提供润滑作用,避免磁头与磁盘不正常接触所造成的损坏。磁盘的两面都可以使用,因此每个磁盘上下共有两个磁头来读取数据。

在磁盘上可以感应到数字信息,是因为在磁盘上可以针对特定区域进行磁性的变动,因此我们只需要利用一些可以感应磁性变化的装置,可以依照磁盘上特定区域的磁性变化,来读取其中的内容。

三、硬盘数据单位

1. 磁道(Track)

一个磁盘划分为多个磁道,事实上一个磁道也就是指磁盘上的一圈数据区域(也就是说同一磁盘撒和国内所有的磁道都会以同心圆环的方式来排列),就像树木年轮中的一环。因此最靠近内圈的磁道上所能记录的数据量最小(由于越靠近内圈则圆圈越小)。

2. 柱面(Cylinder)

绕马达旋转轴旋转的多个磁盘,每个磁盘有两个盘面(片),每个盘面里有多个磁道(Track)。多个磁盘上相同大小的磁道在竖直空间上构成了一个柱面,类似于相同大小的一堆呼啦圈(磁道)从脚套到头,视觉上构成了一个空心筒(柱面)。

3. 磁头(Header)

当需要使用磁盘中的数据时,需要利用磁头来读取或写入数据。因此磁头可以说是磁盘与计算机中其他数字设备之间的接口。磁头负责把数字的位数据转换为磁性的变动,以便将数据写入磁盘之中,而反过来的动作就可以把数据由磁盘中读取出来。磁头的质量严重影响整个硬盘的性能,例如当我们增加磁盘的密度以及磁盘旋转的速度来增加数据传输的速率时,一定要有精密的磁头才能将这些数据正确地读取出来,因此每当发展出新技术的磁头时,通常都会带动整个硬盘效率的提高。

4. 扇区(Sector)

事实上仅把数据分为磁道,还不能达到细分数据区的目的(一个磁道中的数据容量还是相当大,即使是最内圈最小的磁道也是一样),因此我们再把磁道分为许多的扇区。由于内圈磁道的数据容量较少,因此内圈磁道所分割出来的扇区数码会比外圈磁道要少。扇区是磁盘上能读取数据的最小单位,大小为 512Bytes,也就是说 1 个 Byte 的文件,无论如何都要占据一个扇区的大小,无论这个扇区的数据量是 2KB 还是 16KB 都是一样。每个扇区内部的数据被视为连续的数据,因此实际存取时,需要再指定扇区中数据的地址,就可以找到所需要的数据。

四、硬盘在Linux中的表示

Linux 的所有设备都被抽象为一个文件,保存在 /dev 目录下。

根据接口可以分为:IDE、SATA、SAS、SCSI、USB。

硬盘名称一般为:设备类型 + [a-z],其中 [a-z] 表示第几块硬盘。

IDE 硬盘的名称一般是: hd[a-z] 。SATA 硬盘、SAS 硬盘、SCSI 硬盘和 USB 硬盘的名称一般为: sd[a-z] 。例如,第一块 SATA 硬盘名为 /dev/sda,第二块 SATA 硬盘名为 /dev/sdb,以此类推...

五、分区

把一块硬盘的磁盘逻辑地分为几个区,每个区当作独立磁盘,以方便使用管理。

不同的分区用:“设备名 + 分区号”来表示,如第一块 SATA 硬盘的两个分区 sda1,sda2。

主流的分区机制有 MBR 和 GPT。

六、MBR(Master Boot Record,主引导记录)

MBR 是传统的分区机制,应用于绝大多数使用 BIOS 引导的 PC 设备(苹果使用EFI的方式)

  • MBR 支持 32 位和 64 位的操作系统
  • MBR 支持的分区数量有限
  • MBR 支持不超过 2T 的硬盘,超过 2T 的硬盘只能使用 2T 空间(有第三方解决办法),因为MBR的寻址空间只有 32 位长

1. MBR结构:

占用硬盘最开头的 512 字节,即 0 柱面 0 磁道 1 扇区。前 446 字节是引导代码,不同操作系统的引导代码不一样。然后是 4 个 16 字节的主分区表信息。最后 2 个字节 55 AA,是操作系统的启动标识。

2. MBR分区:

主分区:最多只能创建 4 个主分区。

扩展分区:一个扩展分区占用一个主分区位置。

逻辑分区:逻辑分区是基于扩展分区创建出来的。Linux 最多支持 63 个 IDE 分区和 15 个 SCSI 分区。

七、GPT(GUID Partition Table,全局唯一标识分区表)

GPT 是一个较新的分区机制,解决了 MBR 的很多缺点。

  • GPT 支持超过 2T 的硬盘
  • GPT 向后兼容 MBR
  • GPT 分区必须使用 64 位的系统
  • Mac、Linux 系统都支持 GPT 分区
  • Windows 7 64 位、Windows Server 2008 64 位支持 GPT 分区

参考书籍:《电脑DIY 硬件原理/升级/最优化》

参考链接:Linux 磁盘基本概念(磁盘、分区、MBR、GPT)

Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)的更多相关文章

  1. linux入门教程(六) Linux文件与目录管理

    在linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在上一章提到的/root/.ssh/authorized_keys 这就是一个文件的路径.如果你告诉系统这个文件的路径,那么系统 ...

  2. Linux入门基础(六):Linux系统启动

    系统启动流程 BIOS MBR : Boot Code 执行引导程序-GRUB 加载内核 执行init runlevel BIOS BIOS(basic input output system),我们 ...

  3. Linux 入门记录:二十、Linux 包管理工具 YUM

    一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...

  4. Linux 入门记录:十六、Linux 多命令协作:管道及重定向

    一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux ...

  5. Linux 入门记录:十八、Linux 系统启动流程 + 单用户修改 root 密码 + GRUB 加密

    一.系统启动流程 一般来说,Linux 系统的启动流程是这样的: 1. 开机之后,位于计算机主板 ROM 芯片上的 BIOS 被最先读取,在进行硬件和内存的校验以及 CPU 的自检没有异常后, BIO ...

  6. linux入门教程(八) Linux磁盘管理

    [查看磁盘或者目录的容量 df 和 du] df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 df常用参数有 –i -h -k –m等 -i 使用inode ...

  7. Linux入门基础(一):Linux基本操作

    命令行BASH基本操作 Shell 用户不能直接操作内核,所以用户操作通过shell传递给内核 shell分为两种 : GUI 图形界面 (linux一般是GNOME) CLI 命令行界面 (linu ...

  8. lilybbs-faq - linux入门以及百合 Linux 版精华区导读

    QUESTIONS 问题与解答 不需要任何命令的简单介绍 历史 (APUE 提到了1990年之前的unix历史,还有各种标准 ANSI ISO IEEE posix xpg3.... 但是linux ...

  9. 零基础Linux入门之《Linux就该这么学》

    本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...

随机推荐

  1. 分布式消息队列RocketMQ&Kafka -- 消息的“顺序消费”

    在说到消息中间件的时候,我们通常都会谈到一个特性:消息的顺序消费问题.这个问题看起来很简单:Producer发送消息1, 2, 3... Consumer按1, 2, 3...顺序消费. 但实际情况却 ...

  2. Bootstrap 按钮,图片,辅助类

    Bootstrap 按钮 任何带有 class .btn 的元素都会继承圆角灰色按钮的默认外观.但是 Bootstrap 提供了一些选项来定义按钮的样式,具体如下表所示: 以下样式可用于<a&g ...

  3. WPF一个对象显示多个属性

    一个对象显示多个属性使用模板的方法: 如图: <dataTemplate x:key="MyDataTemplate">

  4. BZOJ 1004 Cards(Burnside引理+DP)

    因为有着色数的限制,故使用Burnside引理. 添加一个元置换(1,2,,,n)形成m+1种置换,对于每个置换求出循环节的个数, 每个循环节的长度. 则ans=sigma(f(i))/(m+1) % ...

  5. uva1086 The Ministers' Major Mess

    题意:有n 个议案,m 个大臣,每个大臣会对其中的ki 个议案投票,为赞成或反对.现要你判断是否存在一种方案,使得每个大臣有大于一半的投票被满足.若存在,还需判断某个议案是不是一定要通过,或者一定不能 ...

  6. BZOJ4300 绝世好题(动态规划)

    设f[i][j]为前i个数中所选择的最后一个数在第j位上为1时的最长序列长度,转移显然. #include<iostream> #include<cstdio> #includ ...

  7. CentOS 查看系统内核和版本

    1.uname 命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”. [root@bigdata-senior01 ~]# uname -a Linux bigdata-senior ...

  8. BZOJ3668:[NOI2014]起床困难综合症——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3668 https://www.luogu.org/problemnew/show/P2114 21世 ...

  9. BZOJ2553 [BeiJing2011]禁忌 【AC自动机 + dp + 矩乘优化】

    题目链接 BZOJ2553 题解 话说在前,此题卡精度,最好开long double 先建\(AC\)自动机 求期望,逆着求,设\(f[i][j]\)为长度为\(i\)的串,当前匹配AC自动机\(j\ ...

  10. AOJ.859 地毯填补问题 (递归与分治)

    AOJ.859 地毯填补问题 (递归与分治) 题意分析 学习分治思想,第一次接触, 代码总览 #include <iostream> #include <cstdio> #in ...