聊聊x86计算机启动发生的事?

  • 聊聊x86计算机启动发生的事?已关闭评论
  • 26 次浏览
  • A+
所属分类:linux技术
摘要

大家好,我是呼噜噜,最近在看linux早期内核0.12的源码,突然想到一个困扰自己好久的问题:当我们按下电源键,计算机发生了什么?神秘地址0x7C00究竟是什么?操作系统又是如何被加载到硬件中的?带着这些问题,继续往下阅读本文。

大家好,我是呼噜噜,最近在看linux早期内核0.12的源码,突然想到一个困扰自己好久的问题:当我们按下电源键,计算机发生了什么?神秘地址0x7C00究竟是什么?操作系统又是如何被加载到硬件中的?带着这些问题,继续往下阅读本文。

x86计算机启动过程,主要分为这几个阶段:BIOS自检,引导设备的选择,主引导记录,加载操作系统

BIOS自检

当电源自检通过后,主板会通电,开始读取ROM里面的BIOS程序,进行BIOS自检BIOS(Basic Input Output System,基本输入输出系统),它负责管理和控制计算机硬件设备,本质上是一组"程序代码"。

BIOS作为计算机开机之后,CPU要进行处理的第一个“可执行程序”,也就是第一个“开机启动项”。其程序代码事先被刷入集成在主板的ROM芯片中,主要保存着系统设置程序、基本输入输出程序、开机上电自检程序和系统启动自举程序等

ROM: 只读存储器,不需要供电也可保持数据不丢失。这点特性和内存有着鲜明的对比

现在一般用Flash闪存来代替ROM,由于ROM写入后就不能修改,改用Flash闪存后,既方便又能用专用程序即可修改其中代码

当BIOS启动后,会开始BIOS自检,会依次执行以下操作:

  1. 主要是对计算机的硬件设备进行检测,然后初始化,包括处理器、内存、硬盘、显卡、声卡等
  2. 对计算机内存进行检测,检查硬盘和其他存储设备是否正常
  3. BIOS还会检查计算机的其他设备,包括键盘、鼠标、显示器、声卡等
  4. 显示系统信息:BIOS会在屏幕上显示系统信息,包括计算机型号、处理器型号、内存大小、硬盘容量等

聊聊x86计算机启动发生的事?

作者:小牛呼噜噜 ,首发于