在Linux x86-64上的物理内存中,用户空间和内核之间是否有明确的区分? [英] Is there an explict split between userspace and kernel in physical memory on Linux x86-64?
问题描述
也就是说,给定一个物理地址,我能否确定该地址是否来自用户空间?
That is, given a physical address, can I tell whether this address is from userspace or not?
据我所知,在虚拟地址空间中,内核将使用 上半部分,用户空间将使用下半部分.但是关于 在物理地址空间?
As far as I know, in virtual address space, the kernel will use the upper half and the userspace will use the lower half. But what about in physical address space?
使问题变得复杂的是,我想检查KVM中的来宾物理地址,这意味着我无法在来宾OS中调用某些内核函数.所以我想知道是否有明确的分割线?
What makes the problem complicated is that I want to check the guest physical address in KVM, which means that I can't call some kernel functions in the guest OS. So I want to know whether there is an explict split line?
推荐答案
否.
几乎所有物理页面框架都可以映射到用户空间虚拟地址或内核虚拟地址,甚至可以同时映射到两者.
Almost any physical page frame can be mapped to a userspace virtual address or a kernel virtual address, or even both at the same time.
这篇关于在Linux x86-64上的物理内存中,用户空间和内核之间是否有明确的区分?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!