开发者

kernel virtual address translation

开发者 https://www.devze.com 2023-02-07 00:51 出处:网络
Considering Linux and 32 bit x86 arch there is 3:1 divide of the accessible 4GB address space. The user space is allocated 0-3 Gb while 3-4 Gb is allocated to kernel.

Considering Linux and 32 bit x86 arch there is 3:1 divide of the accessible 4GB address space. The user space is allocated 0-3 Gb while 3-4 Gb is allocated to kernel. How does a virtual address that is greater than 3Gb and hence lies开发者_C百科 into the kernel address space is transformed to the physical address? Does page tables would come into picture?


There is some information in Mel Gorman's book Understanding the Linux Virtual Memory Manager.

The short answer: Yes, the kernel sets up page tables to translate physical address 0 to virtual address 3 GiB. (Section 3.7.1). This includes the physical location the kernel was loaded to (usually 1MB on x86).

0

精彩评论

暂无评论...
验证码 换一张
取 消