Bootstrap

操作系统基础(三)——系统开机BIOS做了什么?

从今天继续给大家介绍操作系统的相关知识,今天主要介绍在系统启动后,BIOS的具体工作。

一、BIOS是什么

BIOS,即Basic Input Output System,基本输入输出系统。其本质上是一块芯片,芯片内部存储有可供计算机执行的代码。早期的BIOS存储在内存的ROM中,现在的BIOS大多存储在闪存(FLash Memory)中。
BIOS中的代码是计算机启动后首先要执行的代码,计算机的操作系统有可能被重装成Windows、Linux、Unix等等,这些操作系统的代码是不同的,但是指定计算机(即指定BIOS芯片)的代码却是相同的,计算机重装系统不会影响到BIOS中的代码,而BISO代码和操作系统代码间又会有一定的规范,来确保计算机的控制权能够由最初的BIOS顺利转移到操作系统。

二、供电初始化

当我们按下计算机电源开关后,电源系统开始给计算机供电,此时CPU的寄存器会把寄存器初始化,CS寄存器的初始值位0xFFFF,IP寄存器的初始值位0x0000,此时计算机处于实模式下,因此CS和IP寄存器指向的物理地址位0xFFFF0(由CS寄存器左移4位再加上IP寄存器得到),该物理地址对应的是BIOS程序的位置。

注:0xFFFF0虽然是一个内存地址,但是更可以说它是一个CPU地址线,而CPU地址线不仅仅指向内存,还由可能指向其他外设,在这里0xFFFF0指向的就是BIOS,而不是内存。

因此,由了上述过程,计算机才会执行BIOS中的代码,作为研究操作

;