聊聊计算机启动时都发生了什么
(资料来源:leetcode , 度娘等,还有些自己的语言整合,纯属个人聊聊)
介绍下基本输入输出系统
* 1)BIOS(Basic I/O system)
BIOS 也就是基本输入输出系统 -- 同时也是计算机启动时加载的第一个软件
它的位置: 计算机主板上的ROM芯片( ROM 只读存储器 不可改变 掉电存储 )
主要功能: 是为计算机提供最底层的、最直接的硬件设置和控制。
当我们按下开关后 计算机加载BIOS 初始化外设并且测试主存
也就是说 BIOS 是我们最先加载的程序
介绍下MBR 和 BOOT LOADER
2)MASTER BOOT RECOND AND BOOT LOADER
先说MBR(主引导扇区)
它的位置:位于可启动磁盘的第一个扇区 占用 512个字节
主要功能:检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序
(也就是操作系统引导扇区)调入内存加以执行。
BOOT LOADER 先放放
当BIOS POST上电自检后 , 将磁盘第一个扇区的程序读入内存中并执行( yep :) – MBR )
接着 查找GRUB 并且加载到RAM (主存)中 此时 控制权已经移交至GRUB
*
这里说下GRUB ( 与 BOOT LOADER 是包含与被包含的关系)
主要功能:找到可启动磁盘在MBR中启动GRUB 加载到RAM上 然后再加载到kernel 并且移交控制权
3)OS kernel
控制权移交操作系统后,将操作系统加载至内存
Linux系统为例,先载入/boot目录下面的kernel。
然后是/sbin/init 完成应用层的初始化