操作系统引导

  • ①CPU从一个特定主存地址开始,取指令,执行ROM中的引导程序(先进行硬件自检,再开机)
  • ②将磁盘的第一块 —— 主引导记录MBR 读入内存,执行磁盘引导程序,扫描分区表,找到活动分区起始地址
  • ③从活动分区(又称主分区,即安装了操作系统的分区)读入分区引导记录,执行其中的程序
  • ④从根目录下找到完整的操作系统初始化程序(即启动管理器)并执行,完成“开机”的一系列动作

引导程序分两种

  • 1、位于ROM中的自举程序(BIOS基本输入输出系统的组成部分):启动具体的设备
  • 2、位于装有操作系统硬盘的活动分区的引导扇区的引导程序(称为启动管理器):引导操作系统

分区表

一个磁盘抛开物理组成部分的话,就是一个地址序列,这个序列从0~n-1,每个地址包含512B(字节)的控件。一般我们将这些地址称作逻辑块地址(LBA),每块由512B组成。分区表的作用是:告诉系统,磁盘的分区有几个,开始位置和结束位置。磁盘分区表格式目前主要有两种MBR分区表和GUID分区表(GPT)。

MBR

MBR即主引导记录(Master Boot Record),位置在磁盘的第一个逻辑扇区,即LBA0的位置。一个逻辑扇区仅有512B(字节),分给MBR分区表的只有64B,由4个16B大小的分区,这也是硬盘主分区数目不能超过4个的原因,MBR分区表最大可寻址的存储空间只有2TB(2^32 * 512)。标准MBR结构如下:

由上图可以看出,MBR主要由三部分组成,主引导程序、硬盘分区表(DPT)、分区有效标志。主引导程序占据446字节,分区表占据64字节,由4个大小为16字节的主分区组成,还有分区有效标志占据2字节。接下来谈谈有关这三个部分的作用:

  • 主引导程序(boot loader):主要负责从活动分区中装载并运行引导系统程序
  • 分区表(DPT,Disk Partition Table):将大表的数据分成称为分区的许多小的子集。如果磁盘丢失了分区表,数据就无法按顺序读取和写入,导致无法操作
  • 分区有效标志(magic number):有的地方也称为结束标志字,固定值为0xAA55或者0x55AA,取决于处理器类型,如果是小端模式处理器(如Intel系列),则该值为0xAA55,如果是大端模式处理器(如Motorola6800),则该值为0x55AA。如果该标志错误,系统就不能启动

文件系统在外存中的结构

传统的BIOS比较低级,它不能像操作系统一样识别文件系统,所有磁盘必须要有一个固定的物理块作为引导块(Boot Block),这个引导块就是MBR。也就是说MBR是用来引导内存加载并运行操作系统内核的。

GPT

GPT即全局唯一标识分区表(GUID Partition Table)是一个实体磁盘的分区表的结构布局的标准。它是可扩展接口(EFI)标准的一部分。由于MBR分区表最大可寻址的存储空间只有2TB这个局限性。CPT就诞生了,CGPT分类64bits给逻辑块地址,这就意味着寻址存储空间达到8ZB。GPT支持最多128个主分区。CPT结构图如下:

如图可以看出:GPT分为以下几个部分:

  • 保护性MBR: 处于位置LBA0,是在CPT分区表的开头,为了兼容性而存在的传统的MBR。一般情况下是没有引导代码,仅仅有一个被标识为未知的分区,当支持GPT分区表的操作系统检索到这个MBR后会自动忽略并跳到LBA1读取CGT分区表。
  • GPT头:定义了硬盘的可控件和组成分区表的项的大小和数量,还记录了这块硬盘的GUID,记录了分区表头本身的位置和大小以及备份分区表头和分区表的位置和大小。
  • 分区表:用于存储分区的信息。如(分区类型GUID,起始LBA,末尾LBA等)
  • 分区:是物理磁盘的一部分,作用如同一个物理分隔单元。其基本信息存在分区表中。
  • 分区表备份对分区表进行备份
  • GPT头备份对GPT头进行备份。处于硬盘最后面

GPT是基于EFI的,因此BIOS是无法引导GPT磁盘里的操作系统的。但是为了解决这个问题,混合分区的概念就产生了。混合分区技术使得可以使用BIOS来引导CPT磁盘里的操作系统。也就让Mac上面可以运行Windows成为了现实。这里就不多讨论了。有兴趣的可以自己去了解一下混合分区和Boot Camp引导。


部分参考于 ——
https://www.jianshu.com/p/3914b4e2cc97

操作系统 | 操作系统引导、文件系统在外存中的结构相关推荐

  1. 细谈操作系统导论之文件系统

    1.文件系统概念总览--从VSFS开始 什么是文件系统?文件系统是纯粹的软件,它的目的在于对磁盘进行虚拟化,为用户提供一个抽象概念"文件"和相应的文件列表的抽象--"目录 ...

  2. 操作系统多重引导规范:Multiboot Specification 0.6.93(中文版)

    Multiboot规范 本文定义了Multiboot规范--提议中的引导过程标准.本文是此规范的0.6.93版. 1. Multiboot规范简介本章描述了一些关于Multiboot规范的粗略的信息. ...

  3. 操作系统基础知识点(从题目中总结)期末复习总结 终极版 ctrl+f 寻找你想要的答案

    1.( )不是操作系统关心的主要问题 A. 管理计算机裸机  B. 设计.提供用户程序与计算机硬件系统的界面  C. 管理计算机系统资源  D. 高级程序设计语言的编译器 2.财务软件是一种( ). ...

  4. 操作系统习题7—文件系统

    操作系统习题7-文件系统 1.Unix 系统是如何实现文件共享的? UNIX 系统支持在不同的进程间共享打开的文件.内核使用 3 种数据结构表示打开的文件,它们之间的关系决定了在文件共享方面一个进程对 ...

  5. linux在生活中的应用例子,LINUX操作系统在教师学生日常生活中的应用(全).docx

    WORD格式 专业资料整理 4.LINUX操作系统在教师学生日常生活中的应用 随着网络的快速发展,网络的安全也成为了广大计算机用户的第一头疼事. 也是因为这个原因 linux 操作系统的价值就更加能体 ...

  6. 081200计算机科学与技术——408计算机学科专业基础——操作系统,知识点整理【更新中】

    文章目录 操作系统的定义 操作系统的功能和目标 操作系统的特征 操作系统的发展与分类 os的运行机制和体系结构 中断 系统调用 进程 进程的状态与状态转换 更新中_P10 操作系统的定义 操作系统(O ...

  7. IBM小型机AIX操作系统总结09–文件系统FS

    (需要Word版笔记的请私信留邮箱) [IBM小型机AIX操作系统总结09–文件系统FS] 文件系统 FS一: lsfs --查看所有文件系统 mount -- 查看挂载表, 可见文件系统是否挂载 d ...

  8. Linux操作系统6:文件系统及磁盘管理

    Linux操作系统6:文件系统及磁盘管理 一.实验目的: 二.实验内容: 三.实验结果: (1)使用 fdisk 命令进行硬盘分区 (2)用 mkfs 创建文件系统. (3)用 fsck 检查文件系统 ...

  9. XP操作系统光盘引导后出现0x0000007B 蓝屏错误的问题

    XP操作系统光盘引导后出现0x0000007B 蓝屏错误的问题 http://wenku.baidu.com/view/c353fa116c175f0e7cd137db.html 为了让新的SATA硬 ...

最新文章

  1. safari html 字体设置,肿么在Safari下用css强制修改网页字体
  2. java.lang.ClassCastException: [B cannot be cast to java.lang.String
  3. Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理
  4. javascript 西瓜一期 10 十进制数数的详细进位解析
  5. uos命令_【持续更新】UOS个人版实用技巧集锦
  6. 电脑系统怎么卸载驱动程序
  7. 大学计算机社团学什么好,大学哪些社团组织最值得加入?很多人工作后才知道!...
  8. 有什么可以测试耳机性能的软件吗,测试耳机性能好坏的简单方法
  9. connect etimedout php,npm error: tunneling socket could not be established, cause=connect ETIMEDOUT
  10. c语言编程吉他和弦,学吉他和弦怎么弹啊?就C大调C,Dm,Em,F,G,Am,Bdim.1,2,3,4,5,6,7级和弦举个简单的例帮帮我...
  11. 容器安装 libx264
  12. 贯头山酒——中华酒文化的源头之一
  13. 中文论文检索证明怎么开_论文检索证明是什么,如何获得呢?
  14. 投入和产出比例是衡量信息化成功的最主要标准
  15. ACTS:首屈一指的软件测试策略是什么?
  16. 聚类算法:K-means算法
  17. ionic3保存图片到本地相册
  18. 互联网公司的几种“死法”
  19. 浅析私有化即时通讯软件的功能
  20. Hbase从入门到入坑

热门文章

  1. 接入Apple 登录(AuthenticationServices) 后端处理Java版
  2. html 对勾单选框,利用原生js和jQuery实现单选框的勾选和取消操作的方法
  3. 硬币之谜:如何用最少的步骤拿完所有硬币?
  4. html切网页音乐会停,hexo NexT主题插入音乐
  5. Devops 的介绍
  6. 自动求导-Automatic differentiation (自动微分
  7. SAP BASIS常见问题解决
  8. 未来,智能交通有多智能?
  9. php iconv_strlen,iconv详解
  10. Floodlight 用Static Flow Pusher 改变流表规则