操作系统是从BIOS获取此信息还是单独扫描总线以检测系统上安装的硬件.在网上浏览不同的消息来源说不同的事情.有人说BIOS检测到硬件,然后将其存储在操作系统随后读取的内存中,其他人则说OS扫描总线(例如pci)以了解硬件.
我会想到现代操作系统会忽略BIOS并自行完成.
任何帮助,将不胜感激.
谢谢.
简单的问题,我正在阅读有关 PCI 的 OSDev Wiki 页面,它说了以下内容 -
“基地址寄存器(或 BAR)可用于保存设备使用的内存地址,或端口地址的偏移量。通常,内存地址 BAR 需要位于物理 RAM 中,而 I/O 空间 BAR 可以驻留在任何内存地址(甚至超出物理记忆)。”
我不明白哪里说内存地址 BAR 需要位于物理 RAM 中?MMIO 的全部意义在于,当它被分配一个内存地址时,它将被路由到设备而不是物理 RAM。它需要位于物理 RAM 中是什么意思?
难道它不只是 3GB - 4GB 地址空间之间的地址,无论安装了多少物理 RAM?
这是 OSDev 网站上的错误还是我误解了?
谢谢。