操作系统启动过程(学习笔记四)

一些概念

实模式存取下的1M(20位地址线)空间(有关实模式与保护模式 :https://blog.csdn.net/qq_43606914/article/details/106011785

  • 前面640K [00000 – 9FFFF]:基本内存
  • 中间128K [A0000 – BFFFF]:显卡显存
  • 末尾256K [C0000 – FFFFF]:BIOS

BIOS 基本输入输出系统【Basic Input Output System】:在BIOS内有底层I/O软件,包括读键盘,写屏幕,进行磁盘I/O以及其他过程。

  • C0000 – C7FFF:显示卡BIOS
  • C8000 – CBFFF:IDE控制器BIOS
  • F0000 – FFFFF:最后64KB,系统BIOS

系统BIOS
功能:

  • 系统启动配置
  • 基本的设备I/O服务
  • 系统的加电自检和启动

加电自检POST[Power On Self-Test]
功能:

  • 初始化基本硬件:CPU,内存,显卡等
    tip:自检正常不提示,错误则通过喇叭提示

按下PowerOn或者Reset键执行第一条指令
执行FFFF0处的指令:POST位于系统BIOS内部

POST之后

  • 查找显卡BIOS,调用显卡BIOS
  • 依次查找其他设备执行相应设备的BIOS
  • 显示启动画面
  • 从硬盘/软盘/光驱/U盘读入OS
  • OS启动后,由OS接管计算机

MBS 主启动扇区【Main Boot Sector】

  • 位置:硬盘的0磁道0柱面1扇区
  • 功能:完成OS加载或启动管理功能
  • 大小:512bytes
  • 组成:
    • 主引导记录MBR(Master Boot Record):446bytes
    • 分区表DPT(Disk Partition Table):64bytes
    • 硬盘有效标志(Magic Number):2bytes

tip1:BIOS读硬盘时,先读MBS这个特殊的扇区
tip2:MBS与操作系统无关,每个硬盘都有

建议
想要更深入MBR了解分区可参阅《鸟哥的Linux私房菜》磁盘分区这一小节,里面有对主引导扇区中分区表的详细介绍。

MBR 主启动记录【Main Boot Record】

  • 位置:存放在硬盘/软盘的首扇区MBS
  • 功能:实际上是一段程序,存放着和OS启动的相关信息;装载第二引导装载程序,如Windows产生的MBR装载运行PBR
  • 大小:446bytes
  • 组成:内含开机管理程序Boot Loader
    Boot Loader的目的:加载核心文件
    它的主要工作有:
    • 提供菜单:让用户选择不同的启动项,实现多重启动
    • 加载核心文件:直接指向可启动区加载操作系统
    • 跳转:将启动管理功能转交给其他loader(程序)

PBR分区引导记录【Partition Boot Record】

  • 位置:每个非扩展主分区及每个逻辑分区的第一个扇区
  • 大小:512bytes
  • 功能:存放着小段程序,其加载并启动安装在其上的操作系统

BIOS和MBR程序运行过程
(1)POST —> CMOS(硬盘启动)—> 读取MBR ---->控制权交给MBR;
(2)MBR读取分区表(Partition Table),找到其中的活动分区(Active Partition),并确认其他的分区都不是活动分区,MBR读取活动分区的第一个分区(分区引导记录PBR)并把它加载到内存中去。【可将所有主分区和逻辑分区中的一个标识为Active,某分区被标识为Active,则表示系统启动时即加载运行其PBR程序】;
(3)PBR继续控制后面的引导过程。

tip:Windows 只能由活动主分区引导,Linux 则不同,像Ubuntu 的引导程序不仅可以安装在非活动的主分区,甚至可以安装在逻辑分区!

操作系统启动的三个主要步骤
简单来说:从加电到用户工作环境准备好的过程

1.初始引导

  • 目的:把OS核心装入内存并使之开始工作接管计算机
  • 过程:
    (1)加电,JUMP POST
    (2)BIOS中的启动程序运行
    启动程序:读取MBR(0面0道第一扇区内容)
    加载MBR中的引导程序
    引导程序:根据相关参数,读取硬盘指定位置的文件到内存
    加载硬盘上OS内核,并初始化基本参数
    OS内核:逐步加载OS剩余部分,最后完全控制计算机

2.核心初始化

  • 目的:OS内核初始化系统的核心数据
  • 典型工作:
    • 各种寄存器的初始化
    • 存储系统和页表初始化
    • 核心进程构建

3.系统初始化

  • 目的:为用户使用系统作准备,使系统处于待命状态
  • 主要工作:
    • 初始化文件系统
    • 初始化网络系统
    • 初始化控制台
    • 初始化图像界面
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值