7

コンピューターの起動時に OS がロードされると、OS はどのようにしてハードウェア情報を認識しますか、何らかの io 命令があるか、ブーター プログラムが BIOS から情報を取得しますか??

4

3 に答える 3

9

マザーボードのファームウェア (BIOS、ACPI インターフェイス、または EFI とも呼ばれます) により、OS はシステム内の 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 ベースのシステムから起動する OS は、INT 0x15、AX=0xE820 を使用してQuery System Address Map関数を照会します。

UEFI ベースの OS は通常、GetMemoryMap()インターフェイスを使用して物理メモリ マップを取得します。

于 2012-07-25T19:37:53.617 に答える
3

デスクトップ PC やラップトップ PC などのマシンでは、メモリの量はBIOSまたはUEFIによって OS に与えられます。

于 2012-04-26T16:12:15.893 に答える