linux-kernel - linux内核虚拟内存布局
问题描述
我正在使用 32bit 4.1.8 linux 内核、RT 补丁(无高内存)并更改以下配置:
- CONFIG_LOWMEM_SIZE(最大低内存大小)
- CONFIG_PAGE_OFFSET(内存基址的虚拟地址)
- CONFIG_TASK_SIZE(用户任务空间的大小)
我的目标是通过减少用户任务空间的大小和移动内存基本虚拟地址来增加低内存大小。换句话说,我正在更改用户/内核虚拟地址空间拆分。
我的问题是:在 init_32.c 文件中写到必须适用以下内容:LOWMEM_SIZE <= 0xF0000000 - PAGE_OFFSET 为什么它的 0xF0000000 而不是 0xFFFFFFFF?最后的 256MB 用于什么目的?(据我了解,不使用高内存时不需要高内存页表)
谢谢
解决方案
推荐阅读
- html - 你如何制作一个覆盖整个顶部屏幕的导航栏?
- java - 无法使用 java 套接字将图像从 android studio 发送到 pc,filePath 返回 null
- reactjs - 做什么{" "} 在 react.js 中是什么意思?
- swift - 从 AppDelegate 推送 SwifuUIscreen
- python - 在 Python 中限制线性回归的 x 值范围
- android - 当我打开某个屏幕时,为什么我的 react-native 应用程序会崩溃?
- tensorflow - 导入 tensorflow-probability 失败
- python-3.x - 如何通过单击 cli 选项设置烧瓶应用程序(带数据库)?
- kubernetes - 是否使用 kubectl 工具部署 kubernetes 对象?
- swift - 在 Swift 中按下按钮时,标签不受默认变暗(突出显示)的影响