1. 磁盘简介
1.1 盘片
记录数据的载体
1.1.1 扇区(sector)
每个扇区为512bytes,是最小的物理存储单位;其中第一个扇区最为重要,它记录着硬盘主引导记录MBR(446bytes)及分区表(64bytes);
1.1.2 柱面(cylinder)
扇区组成的圆就是柱面,柱面是分区(partition)的最小单位;
1.2 机械手臂与磁头
读写盘片上的数据
1.3 主轴马达
可以转动磁盘,让机械手臂的磁头在盘片上读写数据。
1.4 磁盘文件名
(1)/dev/sd[a-p][1-15]
为SCSI、SATA、USB、Flash等接口的磁盘文件名;
(2)/dev/hd[a-d][1-63]
为IDE接口的磁盘文件名;
1.5 磁盘分区
指定分区的起始与结束柱面(告诉OS此分区磁盘的访问区域是从柱面A到柱面B之间的块);第一个扇区的分区表中记录着各个分区的柱面范围,因为分区表只有64bytes,所以最多只能记录四条分区信息(主分区primary或扩展分区extended),其中扩展分区可以继续分出逻辑分区logical;但只有主分区和逻辑分区才能被格式化。
注意:
(1)主分区与扩展分区最多可以有4个(磁盘的限制);扩展分区最多只能有一个(操作系统的限制);
(2) 扩展分区的目的是使用额外的扇区来记录分区信息;
(3)IDE硬盘逻辑分区最多有59个(5-63),SATA硬盘逻辑分区最多有11个(5-15);
(4)逻辑分区的设备名称是从5号开始的;
其他知识:
(1)“/”根分区必须挂载为只读模式才能运行fsck;
(2)每个分区都有自己的启动扇区;
(3)实际可开机的内核文件是放置到各分区内的;
(4)loader只会认识自己的系统分区内的可开机内核文件,以及其他loader而已;
(5)loader可直接指向或间接将管理权转交给另一个管理程序。
2. 文件存储简介
2.1 super block
记录文件系统的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式和相关信息等;其大小为1024bytes。
2.2 inode
记录文件的权限和相关属性,一个文件占用一个inode(128bytes),同时记录此文件的数据所在的block号码;其大小与数量在格式化完就固定了。
inode bitmap 记录着使用与未使用的inode号码。
2.3 block
记录文件的内容,若文件太大时,会占用多个block(1K、2K、4K),但每个block内最多只能放置一个文件的数据;block的大小与数量在格式化完就不能再改变了。
block bitmap 记录着使用与未使用的block号码。
3. 开机启动流程
3.1 名词简介
1. BIOS:
是一个写入到主板上的韧体(写入到硬件上的软件程序),开机时系统主动执行的第一个程序。
2. CMOS
记录各项硬件参数且嵌入在主板上的存储器。
3. Boot Loader
是OS安装在MBR上面的一套软件。其主要功能如下:
(1)提供菜单:用户可以选择不同的开机选项(多重引导);
(2)载入内核文件:直接指向可开机的程序区段来开始OS;
(3)转交其他loader:将引导加载功能转交其他loader负责。
注意:引导加载程序除了可以安装在MBR之外,还可以安装在每个分区的引导扇区(这是多重引导的基础)。
4. MBR
第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序。
Windows的安装程序会主动覆盖掉MBR以及自己所在分区的启动扇区,所以双系统要先装Windows;
3.2 启动流程
BIOS会根据用户的设置去取得能够开机的硬盘,并到该硬盘去读取第一个扇区的MBR位置,然后执行引导加载程序加载内核文件并执行(开始操作系统的功能);