计算机的启动
地址空间分成了两部分ROM和RAM
ROM位于主板上,是主板生产的时候就有的一部分
机器加电之后
会先去读取ROM中的已经固化的一些指令
主要是自检Power-On Self-Test,POST
主要包括 CPU 显卡,内存
还有一些基本的初始化(比如之前说到有些地方寄存器要清零 都是一种初始化)
也就是对于计算机来说想要正常工作的一个底线,最基本的功能
所以这个ROM系统也叫作BIOS Basic Input/Output System
就好像他的名字一样,这个系统并不能给我们提供服务,只是说计算机可以提供服务了
还有一个启动顺序 的概念 计算机内可能有多个不同的存储设备
有一个启动模块存储启动顺序信息
然后会根据设置读取第一块存储设备
BIOS系统接着读取硬盘上固定位置的数据
这个位置的数据结构是约定好的---通常是硬盘的0面0磁道的第一个扇区
读入到内存,然后用一个跳转指令进入到这里进行执行
硬盘的0面0磁道的第一个扇区 是主引导扇区
这是一个约定规范,就像接头暗号一样,我往这里存,你从这里读
引导分区包含了 启动指令和数据,以及分区表
每个分区有分区资料,表明分区的起始位置,大小 类型以及是否为活动分区
类型表明分区是哪种操作系统管理的
活动分区表示应该被启动的
中央处理器读取到了应该被启动的操作系统的引导代码,将他读取到内存中
接着就是操作系统自身加载的过程了
所以计算机的启动,就是计算机电路上电之后,读取一系列二进制数据,执行指令的过程.
转载务必注明出处:程序员潇然,疯狂的字节X,https://crazybytex.com/thread-180-1-1.html |