BIOS 是否具有其他程序无法执行的特殊功能?

use*_*569 6 bios drivers

我就想问一下,我在搜索BIOS资料的时候,发现的文章大多是过时的,所以我现在就问几个简单的问题。

如果我是对的,BIOS 的主要目的是将信息从 HDD 加载到 CPU(主要是某些操作系统)。后来,他们添加了一些可以使用 int 指令调用的小例程,这使 PC 中的某些任务变得简单,例如访问 HDD 或访问 VGA 等。

但如果我仍然是正确的,所有这些工作都可以由每个其他具有 ring 0 模式的程序手动完成。我的意思是,BIOS 没有其他程序无法拥有的特殊功能,对吗?

我知道在 DOS 时代,BIOS 例程被大量使用。但如今,是吗?我的意思是,现在操作系统甚至使用 BIOS 例程吗?当一切都有驱动程序时?

但是 BIOS 仍然更新很多,修复了许多错误,所以我想知道现在 BIOS 到底是什么角色。

例如,我正在考虑更改 FSB 频率。你可以通过 BIOS 来完成,但你必须有其他方法来做到这一点,对吗?由于 BIOS 只是程序。

我认为您可能需要 BIOS 的唯一一件事是操作系统和特定硬件(如芯片组)之间的兼容层,但是,如果您知道到达 hdd 的确切方法(哪些端口和哪些数据要发送给它们),您可以在没有BIOS 是对的吗?谢谢。

Lin*_*000 11

“BIOS”的“BIOS”位确实是硬件和操作系统之间的兼容层。是的,您可以直接驱动硬件,但您需要为主板设计的每个变体编写驱动程序代码,以便您的应用程序在每台机器上运行。在 Lotus 123 是 DOS 应用程序的非常暗淡和遥远的过去,最初的几个版本直接驱动并行打印机端口以加快打印性能,如果您有一台真正的 IBM PC 或非常好的克隆,这一切都很好,但在某些 PC 上,123 不会打印,因为并行端口的电子设备与 IBM 设计略有不同。

BIOS 硬件例程和中断机制还有助于在尝试使用相同硬件或同时读取相同寄存器的多个应用程序之间进行仲裁,因此 BIOS 可以防止无政府状态 - 即应用程序之间竞争访问低级硬件的崩溃。

“BIOS”的另外两部分是开机自检(POST)程序和计算机的“CMOS设置程序”。

取代 BIOS 设计的举措已经进行了一段时间 - 尤其是因为它作为硬件兼容层的功能是以牺牲性能为代价的。现在越来越多的计算机正在构建一种称为可扩展固件接口(EFI - 现在演变为统一 EFI 或 UEFI)的替代方法 - Apple 已经使用 EFI 一段时间了,因此有一些高端台式机和服务器机器。如果您想了解更多信息,请查看这篇维基百科文章。这是最近的一条新闻