PCIe defines three distinct address spaces, which is critical for OS driver development: