[英]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()接口獲取物理內存映射。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.