通常在系统板的ROM中存放着一套程序,称为BIOS(基本输入输出系统),BIOS中主要是包含了以下几部分内容
- 1、硬件系统的检测和初始化程序
- 2、外部中断和内部中断的中断例程
- 3、用于对硬件设备进行I/O操作的中断例程
- 4、其他和硬件相关的中断例程
其实BIOS就是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息
操作系统DOS提供了中断例程,其实从操作系统的角度来看,DOS的中断例程就是操作系统向程序员提供的编程资源
BIOS和DOS在所提供的中断例程中包含了多个子程序,我们可以通过int指令来调用BIOS和DOS提供的中断例程,来完成某些工作,一般来说和硬件设备相关的DOS的中断例程中,一般都调用了BIOS的中断例程
BIOS和DOS中断例程的安装过程
- 1、开机后,CPU一加电,初始化(CS)=0FFFFH,(IP)=0,自动的会从FFFF:0的单元开始执行程序,需要注意的是FFFF:0这个地址是在BIOS的系统范围当中的,所以我们不能去更改。在FFFF:0处有一条跳转的指令,CPU在执行这条指令之后,会转去执行BIOS中的硬件系统检测和初始化程序
- 2、初始化程序会去建立BIOS所支持的中断向量,然后会将BIOS提供的中断例程的入口地址登记在中断向量表当中
- 3、硬件系统检测和初始化完成之后,会去调用int 19h进行操作系统的引导,之后计算机就会交由操作系统来控制,这里需要去注意的是,是先去调用int 19h引导操作系统启动的,所以int 19h的中断例程不能由DOS来提供
- 4、DOS启动之后,除了完成其他工作之外,还会将它所提供的中断例程装入内存,并且去建立相应的中断向量
这里再介绍下Shadow RAM的概念
Shadow RAM,是一块被写保护的内存区域。当开机时,计算机把BIOS的信息拷贝到影子内存里,一直保存到关机为止。由于RAM的速度比ROM稍快,所以影子内存提高了系统性能。这个区域通常也称为内存保留区,用户程序不能直接访问。 Shadow RAM的功能是用来存放各种ROM BIOS的内容。或者说Shadow RAM中的内容是ROM BIOS的拷贝。因此也把它称为ROM Shadow(即Shadow RAM的内容是ROM BIOS的“影 子”)。 在机器上电时,将自动地把系统BIOS、显示BIOS及其它适配器的BIOS装载到Shadow RAM 的指定区域中。由于Shadow RAM的物理编址与对应的ROM相同,所以当需要访问BIOS时, 只需访问Shadow RAM即可,而不必再访问ROM。通常访问ROM的时间在200ns左右,而访问DRAM的时间小于100ns(最新的DRAM芯片访问时 间为60ns左右或者更小)。