繁体   English   中英

操作系统如何知道物理内存的实际大小?

[英]how does the OS know the real size of the physical memory?

当计算机启动时加载操作系统时,操作系统如何知道硬件信息,是否有一些io指令或引导程序从BIOS中获取信息。

主板固件(也称为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)

从基于BIOS的系统引导的OS使用INT 0x15,AX = 0xE820查询查询系统地址映射功能。

基于UEFI的OS通常使用GetMemoryMap()接口获取物理内存映射。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM