32位系统上的Linux的highmem

news/2025/3/13 3:34:46/文章来源:https://www.cnblogs.com/sant1an/p/18766133

什么是highmem?

Linux内存管理

highmem的出现与Linux的内存管理相关。众所周知,linux内核一般将处理器的虚拟地址空间分为两个部分。底部较大的部分用于用户进程,而顶部的较小部分用于内核。这个划分的比例通常是1:3(在编译内核时可以通过特殊的配置选项修改这个比例)。所以在一个32位处理器上,用于内核的虚拟地址空间是1GiB。而Linux内核在管理物理内存时,会将所有的物理内存都映射到内核的地址空间中使用。访问内存时,如果访址所用的虚拟地址与内核区域的起始地址之间的偏移量不超过可用物理内存的长度,那么该虚拟地址会自动关联到对应的物理地址。在可用物理内存较小的时候,这是没有问题的。但是,一个系统的理论寻址空间肯定是内核地址空间大的,在需要访问更多的物理内存时,就必须要借助highmem的机制了。
32位系统内核空间划分

highmem

在一个32位系统上,虚拟地址空间是4GiB,内核地址空间则是高1GiB,所以按照上面的描述,可以将1GiB的物理内存直接1:1映射到内核虚拟地址上。但是这是不可行的,因为内核虚拟地址空间不可能全部用来作为物理内存的寻址,内核需要保留一部分的虚拟地址用于其他的用途(例如映射寄存器的地址等)。而且这样的映射最多也只能映射1GiB的物理地址,无法处理更大的物理内存。所以在实际应用中,只有896MiB的物理内存会直接映射到内核虚拟地址(也就是上面说的,物理地址和虚拟地址之间只存在一个偏移,偏移量是内核空间的起始地址,32位系统中是0xC0000000),剩余的128MiB用于映射额外的物理地址,而这128MiB的地址空间则称为highmem。

总结

highmem是在物理内存大于某个值时,内核用于管理更大的物理内存的寻址机制。所以对于64位系统来说,目前还用不上highmem的机制,因为物理内存短时间还无法达到需要64位系统也需要借助highmem才能完全寻址的大小(谁能猜到呢,几十年前也是这么说的)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/897417.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

halcon 深度学习教程(一)分类检测 (工业里如何使用halcon深度学习去检测分类产品)

原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/18766108深度学习教程目录如下,还在继续更新完善中 深度学习系列教程目录 本篇主要是入门halcon的深度学习篇,参考halcon实例classify_fruit_deep_learning.hdev,不过去实例的话会比较复杂一些,不便于理解,这…

3-11

今天学习android atudio 设置了Onclick事件监听 实现了页面跳转

浅谈动态 dp

DDP,即动态动态规划,一般是指在原有的 DP 模型上不断对初始值进行修改并得出答案。 一般而言都是进行单点修改,并且搭配数据结构以及矩阵进行实现。 这里要先给出一个前置知识: 广义矩阵乘法 原矩阵乘法式子为 \(C_{i,j}=\sum_kA_{i,k}\times B_{k,j}\)。 其实写成这样同样…

四款报表软件全解析:从山海鲸报表到Sisense的企业数据利器

概述 在大数据时代,企业对数据分析和决策支持的要求日益增强,报表软件已成为现代管理中不可或缺的重要工具。它们能够高效地整合、分析和展示数据,帮助企业从海量数据中快速提取有价值的信息,支持精准决策。本文将为大家介绍4款报表软件,这些软件各具特色,适用于不同规模…

day:16 银行项目转帐

一、手机转账 我主要负责了转账模块,这个大模块中包含了智能转账、手机转账、语音转账、预约转账、收款人管理等5个子模块,我这次着重介绍一下我们生活中使用最多的手机转账子模块。 对于转账需要关注的是转账前、转账中、转账后这三个状态下的测试。一个完整的业务流程就是用…

day:银行项目——理财业务

一、理财业务术语二、理财业务的分类三、购买流程理财客户签约风险评估理财产品的预约理财产品查询理财产品讲解 1、我最近做了一个银行项目,然后做了当时测试了当中的理财模块,我这边大概和您讲解一下 2、首先理财中有包括签约,风评,理财购买,赎回/撤销,以及理财查询,之…

空间遥感智能处理技术发展现状与趋势

在数字化时代,空间遥感技术已经成为获取地球表面信息的重要手段。随着卫星遥感技术的快速发展,获取的遥感数据量激增,这对遥感数据的智能处理提出了更高的要求。本文将探讨空间遥感智能处理技术的发展现状与未来趋势。 发展现状大数据与人工智能的融合:当前,遥感数据处理正…

day:16 银行项目讲解

一、熟悉银行业务 (1)核心业务:负债业务,公共业务,信贷业务,支付业务,核算业务,理财业务 手机银行 票据业务 企业网银业务 对公业务 柜台业务 (2)银行系统 核心系统(账务系统) 资管系统 客户端系统 服务端系统 数据计算平台 短信平台 语音系统 二、信贷业务 (1)e…

多智能体粒子环境(Multi-Agent Particle Env)食用指南--从入门到入土

0.项目地址:原地址:openai/multiagent-particle-envs: Code for a multi-agent particle environment used in the paper "Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments" (github.com) 国内镜像:项目首页 - multiagent-particle-env…

Windows 提权-内核利用_1

本文通过 Google 翻译 Kernel Exploits Part 1 – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。导航0 前言 1 旧版 Windows 系统内核利用 2 搜寻内核漏洞2.1 枚举内核利用 - 手动 2.2 枚举内核利用 - 自动…

探秘Transformer系列之(12)--- 多头自注意力

从零开始解析Transformer,目标是:(1) 解析Transformer如何运作,以及为何如此运作,让新同学可以入门;(2) 力争融入一些比较新的或者有特色的论文或者理念,让老鸟也可以有所收获。探秘Transformer系列之(12)--- 多头自注意力 目录探秘Transformer系列之(12)--- 多头自注…