7

当电脑启动的那一刻加载操作系统,操作系统是如何知道硬件信息的,是否有一些io指令或引导程序从bios获取信息。?

4

3 回答 3

9

主板固件(也称为 BIOS、ACPI 接口或 EFI)允许操作系统找出系统中 RAM 和 ROM 的物理映射。

例如,这是引导 Linux 的输出:

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 0000000000098c00 (usable)
[    0.000000]  BIOS-e820: 0000000000098c00 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 00000000bfea0000 (usable)
[    0.000000]  BIOS-e820: 00000000bfeae000 - 00000000bfeb0000 type 9
[    0.000000]  BIOS-e820: 00000000bfeb0000 - 00000000bfec0000 (ACPI data)
[    0.000000]  BIOS-e820: 00000000bfec0000 - 00000000bfef0000 (ACPI NVS)
[    0.000000]  BIOS-e820: 00000000bfef0000 - 00000000c0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000ffc00000 - 0000000100000000 (reserved)
[    0.000000]  BIOS-e820: 0000000100000000 - 0000000c40000000 (usable)
于 2012-04-26T16:10:33.760 回答
5

从基于 BIOS 的系统启动的操作系统使用 INT 0x15, AX=0xE820查询查询系统地址映射函数。

基于 UEFI 的操作系统通常会使用GetMemoryMap()接口获取物理内存映射。

于 2012-07-25T19:37:53.617 回答
3

在台式机或笔记本电脑等机器上,内存量由BIOSUEFI提供给操作系统

于 2012-04-26T16:12:15.893 回答