在linux内核中页面地址,虚拟地址和物理地址有什么区别?另外如果我有结构页面地址我怎么能找到它的虚拟地址?在linux内核中页面地址,虚拟地址和物理地址有什么区别
请问有人可以清楚地解释一下Linux内核版本3.10。
在此先感谢您的答案。
在linux内核中页面地址,虚拟地址和物理地址有什么区别?另外如果我有结构页面地址我怎么能找到它的虚拟地址?在linux内核中页面地址,虚拟地址和物理地址有什么区别
请问有人可以清楚地解释一下Linux内核版本3.10。
在此先感谢您的答案。
A 物理地址是RAM中的地址。一旦达到可用物理内存的限制,内核必须在某处分配,而那个地方就是虚拟地址空间。虚拟内存被映射,使得你拥有比物理内存更多的可用空间,这是通过将虚拟内存分成称为页面的块来完成的。
每个虚拟地址被映射到物理存储器中的位置,那里是物理之间虚拟地址的1对多的关系,即,存在映射到相同的物理位置的多个虚拟地址。这种映射是通过页表中的地址转换完成的。
A 页面是虚拟内存的最小单位。页面大小取决于体系结构和实现,但在x86上,Linux为4 KiB。使用虚拟内存时,您必须阅读整个页面,而不只是一个块。当你说“页面地址”时,你可能指的是页面中的索引,可以找到一个特定的虚拟地址。
虽然事实检查我的答案,但我遇到了一些很好的pages,这可能会帮助您更好地理解虚拟内存。第2是维基百科和相当普遍的,最后两个是Linux特有的:
什么巨大的页面? –
虽然默认仍然是4 KiB。 – McGlothlin