首页 > 解决方案 > 为什么加载程序将 xv6 内核加载到物理地址 0x80000000 的内存中?

问题描述

我在 MIT6.828 中读过这个:

加载程序将 xv6 内核加载到物理地址 0x80000000 的内存中。将内核放置在 0x80000000 而不是 0x0 的原因是因为地址范围 0x0:0x80000000 包含 I/O 设备。

但是 I/O 设备如何占用这些地址?例如,单个设备将占用什么范围?(假设 0x0:0x00000040 用于一个设备,因为在 64 位机器上,一个设备占用一个字节?)

标签: operating-systemxv6

解决方案


推荐阅读