Joe*_*erg 18
BIOS仍然是刚刚启动的CPU上运行的第一件事,负责启动主板硬件,设置基本芯片组模式和寄存器,初始化一些硬件,以及运行加载内核的代码.
内核加载后通常不使用BIOS,并且取决于16位执行环境,而不是现代内核运行的32位或64位保护模式环境.
引导加载程序通常需要BIOS IO调用才能将内核置于内存中.即使在这个角色中,BIOS也会被更新的启动时间软件(如Coreboot)替换,以提供更快的启动时间.EFI有一天会取代传统的BIOS,并希望引导加载程序在从存储加载后直接将控制权传递给内核.
发现的硬件配置,内存范围设置和ACPI元数据表可能是内核加载后操作系统使用的唯一基于BIOS的数据.任何可运行的ACPI代码都编码为ACPI机器语言,并由OS解释.
任何关于MS-DOS汇编编程的好传统书籍都将包含有关BIOS编程接口的信息.查看汇编语言程序的艺术
小智 10
我为笔记本电脑写了几年BIOS.在操作系统运行时,BIOS会执行很多操作.
一个主要的任务是在许多事件发生时告知操作系统,这样操作系统看起来很聪明(就好像它以某种方式将这些东西自行解决).例如,BIOS在以下情况下通知操作系统:按下电源按钮,插入或取出电池,交流电源进入或离开,系统连接或断开对接站,硬盘驱动器和/或某些类型的光盘驱动器或删除.
大多数便携式计算机具有可以通过Fn键和制造商提供的OS级应用程序访问/控制的功能.BIOS响应这些热键,并具有与操作系统级应用程序接口的代码.像控制屏幕亮度(其某些操作系统要特征出现来控制)或控制叶环的LED属于这一类.
也许BIOS最重要的任务是在按住电源按钮4秒以上时关闭系统(从OS挂起恢复!).