ch3 硬盘与存储设备

来源:互联网 发布:135端口可以关闭吗 编辑:程序博客网 时间:2024/05/22 02:06

硬盘与存储设备

硬盘的物理组成

硬盘由盘片,机械手臂,磁头与主轴马达组成。实际数据是卸载具有磁性物质的盘片上,而读写主要是通过在机械手臂上的读取磁头来完成。实际运行时,主轴马达让盘片转动,然后机械手臂可伸展让读取头在盘片上面进行读写操作。

盘片上的数据

整个盘片上好像有多个同心圆绘制出的饼图,而由圆心以放射状的方式分割出的磁盘的最小存储单位,那就是扇区(sector),在物理组成方面,每个扇区大小为512B,这个值是不会变的。而山区组成的一个圆就成为磁道(track)。如果有多个盘片,那么在所有盘片上相同的刺刀可以组成一个柱面(cylinder),柱面也是我们分割硬盘时的最小单位。

传输接口

IDE接口 ---对应linux中的文件名:/dev/hd[a-d]
SATA接口,SCSI接口--对应linux中的文件名:/dev/sd[a-d]

磁盘的第一个扇区

整块磁盘的第一个扇区特别重要,因为它记录整块磁盘的重要信息。磁盘的第一个扇区主要记录了两个重要信息:

  • 主引导分区(master boot record, MBR):可以安装引导加载程序的地方,有446B
  • 分区表(partition table):记录整块硬盘分区的状态,有64B。

分区表

如何分区

柱面是文件系统的最小单位,也是分区的最小单位。通过参考柱面号码的方式来分区。在分区表所在的64B容量中,总共分为4组记录区,每组记录区记录了该区段的起始与结束的柱面号码。

笔者的硬盘设备文件名为/dev/sda(SATA硬盘对应的标示),那么这四个分区的文件名如下所示:

  • p1:/dev/sda
  • p2:/dev/sda1
  • p3:/dev/sda2
  • p4:/dev/sda3

image
上图中,我们假设硬盘只有400个柱面,共分为四个分区,第四个分区为301-400号柱面的范围。

由于分区表只有64B,最多容纳4个分区,这四个分区被称为主(primary)分区或扩展(extended)分区。
关于分区,有以下几点知识:

  • 其实所谓的分区,只是针对那64B的分区表进行设置而已
  • 硬盘默认的分区表仅能写入四组分区信息
  • 这四组分区信息我们称为主分区或扩展分区
  • 分区的最小单位为柱面
  • 当系统要写入磁盘时,一定要参考磁盘分区表,才能针对某个分区进行数据处理

为什么分区?

  • 数据的安全性
    因为每个分区的数据是分开的。所以当你需要某个分区的数据重整时,不会影响到其他分区的数据。(装系统只会影响C盘,其他盘不受影响)
  • 系统的性能考虑
    由于分区将数据集中在某个柱面的区段,因此当需要读写分区(p1)时,磁盘只会搜寻(1-100)柱面范围,这样有助于提高性能。

扩展分区

既然第一个扇区所在分区表只能记录四条数据,那自然也利用额外的扇区来记录更多的分区信息。于是扩展分区能切分成更多分区,即为逻辑分区。(logical partition)

  • 主分区与扩展分区最多可以有四个
  • 扩展分区最多只能有一个
  • 逻辑分区是由扩展分区持续切割出来的分区
  • 能够被格式化后作为数据访问的分区为主分区与逻辑分区,扩展分区无法格式化。

开机流程与主引导分区

CMOS是记录各项硬件参数且嵌入在主板上的存储器。BIOS则是一个写入到主板上的一个软件程序。

开机流程:

  1. BIOS:开机主动执行的第一个程序,会读如CMOS的内容,认识到第一个可开机的设备。
  2. MBR:第一个可开机的设备的第一个扇区内的主引导分区快,内包含引导加载程序。
  3. 引导加载程序(Boot loader):一个可读取内核文件来执行的软件
  4. 内核文件:开始操作系统的功能;

boot loader的主要任务

  1. 提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能(双系统的实现原理)
  2. 载入内核文件:直接指向可开启的程序区段开启操纵系统
  3. 转交其他loader:将引导加载程序转交给其他loader负责

linux目录树结构与文件系统

  • 目录树结构
    整个linux系统最重要的在于目录树结构,即以根目录为主,向下呈现分支状的目录结构的一种文件结构。其中,最重要的是根目录 / 。
  • 文件系统与目录树的关系(挂载)
    挂载:就是利用一个目录当作进入点,将磁盘分区的数据放置在该目录下。其中进入点,即为挂载点;进入某一个目录,即是读取某一个分区的意思。

the end

0 0
原创粉丝点击