Linux 内核无法支持 1GB 物理内存和 HIGHMEM 解决方案 [英] Inability of Linux Kernel to support 1GB physical memory and the HIGHMEM solution

查看:35
本文介绍了Linux 内核无法支持 1GB 物理内存和 HIGHMEM 解决方案的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在阅读 [1] 以了解 HIGHMEM.文章说如果内核希望能够直接访问系统的物理内存,那么它必须设置页表,将内存映射到内核的地址空间部分" .这正是我感到困惑的地方.直接访问物理内存是什么意思?这是否意味着明确说明物理地址?(AFAIK,这在 Linux 内核中是不可能的)然后他们继续说明它必须设置页表,将内存映射到内核的地址部分空间".那是您在 HIGHMEM 解决方案中所做的事情,不是吗?请帮助我理解导致 HIGHMEM 解决方案的问题.

I have been reading [1] to have an idea about the HIGHMEM. The article says that "If the kernel wishes to be able to access the system's physical memory directly, however, it must set up page tables which map that memory into the kernel's part of the address space" .That is exactly where I have confusion. What do they mean by accessing physical memory directly? Does that mean explicitly stating the physical address?(AFAIK, that is not possible in Linux kernel) Then they go on stating that "it must set up page tables which map that memory into the kernel's part of the address space". That is something you do in the HIGHMEM solution,isn't it? Please help me understand the problem which lead to the HIGHMEM solution.

[1] http://lwn.net/Articles/75174/

推荐答案

1 但是,如果内核希望能够直接访问系统的物理内存,则它必须设置页表,将内存映射到内核的部分地址空间
我想作者想强调内核需要页表来寻址物理内存.

1 If the kernel wishes to be able to access the system's physical memory directly, however, it must set up page tables which map that memory into the kernel's part of the address space
I think the author want to emphasize kernel need page table to address physical memory.

2 t 必须建立页表,将内存映射到内核的地址空间部分地址空间的内核部分也需要页表来映射该内存,而高级内存则没有直接的内核映射.你可以在那篇文章中找到当内核需要处理高端内存中的页面时,它必须先显式设置一个特殊的页表以将其映射到内核的地址空间"中的句子.

2 t must set up page tables which map that memory into the kernel's part of the address space Kernel part of the address space also need page tables to map that memory, while High memory, instead, has no direct kernel mapping. You can find the sentences on that article "When the kernel needs to work with a page in high memory, it must explicitly set up a special page table to map it into the kernel's address space first."

这篇关于Linux 内核无法支持 1GB 物理内存和 HIGHMEM 解决方案的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆