动态重定位技术

news/2025/11/23 10:29:11/文章来源:https://www.cnblogs.com/yubo-guan/p/19259594

目录
  • 核心概念
  • 一个生动的比喻
  • 它是如何工作的?
  • 动态重定位的优点
  • 动态重定位的局限性
  • 总结


核心概念

动态重定位是一种在程序执行时(运行时) 才确定其物理内存地址的技术。

简单来说,一个程序在编译和链接后,其指令和数据中的地址通常是从0开始的逻辑地址(或虚拟地址)。当程序要被加载到内存中执行时,操作系统会为它分配一段物理内存空间。这段空间的起始地址在编译时是未知的。动态重定位的任务,就是在程序运行时,将程序代码中的逻辑地址实时地转换为正确的物理地址。


一个生动的比喻

想象一个剧本(编译好的程序),里面的舞台指示都是“从舞台左侧起点开始,向前走3步”(这是逻辑地址)。

现在,这个剧团(操作系统)可以在不同的剧院(物理内存)演出。每个剧院的舞台布局都不同,左侧起点在剧院中的实际位置(物理内存的起始地址)也不同。

静态重定位(对比项):就像为每个剧院重新抄写一遍剧本,把所有“走3步”都改成“从A点走3步”。这很麻烦,而且剧本一旦抄好,就不能换到另一个剧院演出了。

动态重定位:剧团有一个舞台总监(硬件:内存管理单元MMU)。演出时,演员(CPU)依然按照剧本说“走3步”,舞台总监(MMU)会立刻在心里计算:“这个剧院的起点在B位置,所以‘走3步’实际上是走到 B+3 的位置”,并引导演员走到正确的地方。

这个“B”,就是重定位寄存器 里存放的值。


它是如何工作的?

动态重定位的实现依赖于一个关键的硬件部件:内存管理单元 和一个特殊的寄存器:重定位寄存器

  1. 编译和链接:程序被编译和链接,生成一个从地址0开始的逻辑地址空间。程序中的所有内存访问都使用这个逻辑地址。

  2. 加载程序:当操作系统决定运行这个程序时,它会为程序在物理内存中找出一块连续的可用区域,然后将程序的代码和数据加载到这块区域中。假设这块物理内存的起始地址是 X

  3. 设置重定位寄存器:操作系统将上面提到的起始地址 X 放入该进程对应的重定位寄存器中。

  4. 运行时地址转换:当CPU执行该程序的一条指令,需要访问内存(无论是取指令还是读写数据)时,CPU发出的都是逻辑地址(比如 Y)。

    • 这个逻辑地址 Y 会被送到 MMU
    • MMU 将逻辑地址 Y 与重定位寄存器中的值 X 相加,得到物理地址 X + Y
    • MMU 使用这个计算出的物理地址 X + Y 去访问真正的物理内存。

整个过程对程序本身是完全透明的,程序以为自己一直在从0开始的地址上运行,但硬件和操作系统在背后默默地完成了所有的地址转换工作。


动态重定位的优点

  1. 支持多道程序设计:这是最重要的优点。不同程序可以被加载到内存的不同位置,只需要为每个程序设置不同的重定位寄存器值即可。多个程序可以同时在内存中,互不干扰。
  2. 程序可以移动:在程序执行过程中,操作系统为了进行内存碎片整理,可能需要将整个程序从内存的一块区域移动到另一块区域。此时,操作系统只需要暂停该进程,更新重定位寄存器的值,然后恢复运行即可。程序本身无需任何修改。
  3. 简化链接和加载:链接器可以生成统一的从0开始的代码,无需关心程序最终会被加载到何处。

动态重定位的局限性

  1. 需要硬件支持:必须要有MMU和重定位寄存器这样的硬件支持,无法在非常简单的嵌入式系统上实现。
  2. 无法提供内存保护:基础版本的动态重定位(只有一个重定位寄存器)只能进行地址转换,但无法防止一个程序访问其他程序的内存空间或操作系统的内存空间。为了解决这个问题,现代操作系统使用了更复杂的技术,即分段分页
    • 界限寄存器:通常与重定位寄存器配对使用,用于检查地址是否越界,提供了基本的保护。
    • 分页:现代操作系统最常用的内存管理方案,它结合了动态重定位的思想,并提供了强大的内存保护和共享机制。

总结

特性 动态重定位
发生时间 运行时
核心硬件 内存管理单元,重定位寄存器
核心过程 物理地址 = 逻辑地址 + 重定位寄存器值
主要优点 支持多道程序、程序可移动、简化链接
主要局限 基础版本缺乏完善的内存保护,需要更复杂的分段/分页机制来补充

总而言之,动态重定位是现代操作系统内存管理的基石之一,它使得多个应用程序能够安全、高效地共享物理内存资源。我们今天使用的Windows、Linux、macOS等系统,都依赖于基于动态重定位思想发展而来的、更高级的内存管理技术。

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

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

相关文章

2025年11月汽车车衣、贴膜贴纸最新源头厂商榜单推荐,抗暴、防紫外线、汽车装饰,优质品牌选择指南!

随着汽车保有量持续增长,隐形车衣已成为车主保护原厂漆的核心选择。本榜单基于产品防护性能、材质技术、质保体系、性价比四大维度,结合汽车后市场行业报告及用户口碑数据,权威解析2025年五大隐形车衣品牌综合实力,…

2025汽车隐形车衣Top10品牌榜单,防爆膜、紫外线贴膜、装饰贴纸哪个厂家好?服务、品质、性价比选型指南。

随着汽车保有量持续增长,隐形车衣已成为车主保护原厂漆的核心选择。本榜单基于产品防护性能、材质技术、质保体系、性价比四大维度,结合汽车后市场行业报告及用户口碑数据,权威解析2025年国内市场上表现优异的10大汽…

自动清理B站稍后再看列表

自动清理B站稍后再看列表转载自己的知乎文章:https://zhuanlan.zhihu.com/p/30454297255 2025年11月23日 不知道有没有人和我一样,看B站喜欢把一大堆视频加入稍后再看,有些视频甚至看都不看就稍后再看了,导致稍后再…

Gemini下载

Gemini安卓版下载 ,gemini apk下载「Gemini最新版下载」 使用gemini需要安装Google,Google需要google服务和服务框架,gemini更新需要google play ,所以全部都要安装

高斯约旦消元模版

模版,留个代码 #include <bits/stdc++.h> #define int long long using namespace std; constexpr int maxn = 110; constexpr int maxm = 210; constexpr double eps = 1e-7;double mat[maxn][maxm];signed ma…

每日一练-ping返回数据解析-TTL

linux--TTL--64 windows---TTL--128 Unix--TTL--255 每减一个数表示中间路过一个路由器。最多不超过30 QQ:254595754 手机号:15074704856

完整教程:设计模式-备忘录模式(Memento)

完整教程:设计模式-备忘录模式(Memento)2025-11-23 10:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: blo…

SQL之表的增删 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

PixPin_cn_zh-cn_2.2.4.0 解锁会员功能

PixPin_cn_zh-cn_2.2.4.0 解锁会员功能 PixAuth.dll 发现关键功能dll,有非常显眼的导出函数:isProUser,序号52其实内部调用序号53 地址 类型 序号 符号 符号(…

左移是不是可以想成指针的移动

字符串要简单就是要跳出字符串吧 我不知道为什么他们写的那么快反正我是过了好几天才优化了这个解法 1.fgets函数读取一整行 scanf会自动到换行符停止的 2.最后的strlen会记录换行符 3.移动n 开头的陷阱一定要取模 4.w…

详细介绍:【优选算法】DC-Mergesort-Harmonies:分治-归并的算法之谐

详细介绍:【优选算法】D&C-Mergesort-Harmonies:分治-归并的算法之谐pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

2025年11月西安宣传片,西安活动跟拍,西安活动跟拍公司推荐:全流程拍摄服务与性价比优选指南

2025年11月西安宣传片与活动跟拍,选陕西光与影影视文化传播有限公司在2025年11月的西安,城市的魅力在光影中绽放,各类活动精彩纷呈。无论是展现城市风采的宣传片,还是记录活动精彩瞬间的跟拍服务,都需要一家专业且…

2025年11月北京财税机构评价榜单:服务性能与用户口碑评测

在选择财税服务时,许多企业主和财务负责人面临共同挑战。您可能是初创公司创始人,需要快速完成工商注册与税务登记;或是成长型企业管理者,希望优化财税结构并控制成本;也可能是大型企业财务总监,寻求专业外包以提…

详细介绍:破解多数据库并存难题!电科金仓异构多活架构铸就安全底座

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年11月立体库厂家推荐榜:基于资质与案例的五大品牌对比分析

在制造业与物流业持续升级的背景下,企业对仓储空间优化与自动化水平提升的需求日益显著。选择一家可靠的立体库厂家,成为许多企业管理者、物流部门负责人及项目规划人员面临的关键决策。这类用户通常需要解决仓库用地…

2025年11月立体库厂家推荐榜单与客观评价指南

随着制造业与物流业的快速发展,企业对仓储空间利用率和作业效率的要求日益提升,立体库作为智能仓储的核心设备,其选型成为众多企业管理者关注的焦点。选择立体库厂家的用户通常包括工厂运营负责人、物流中心规划师及…

2025年11月西安宣传片,西安活动跟拍,西安活动跟拍公司推荐:影视制作口碑品牌与实力红榜发布

2025年11月西安宣传片与活动跟拍,陕西光与影传媒实力尽显在2025年11月的西安,城市的魅力在光影中不断绽放,宣传片与活动跟拍成为记录这座城市活力与风采的重要方式。而在众多相关服务公司中,陕西光与影影视文化传播…

2025年11月西安宣传片,西安活动跟拍,西安活动跟拍公司推荐:实拍技术实力与定制化服务解析

2025 年 11 月西安宣传片与活动跟拍,陕西光与影传媒实力担当在 2025 年 11 月的西安,城市的每一个角落都散发着独特的魅力,无论是历史古迹的厚重底蕴,还是现代活动的蓬勃活力,都需要专业的镜头去捕捉和呈现。而陕…

【stm32】【Freertos】config详解(2) - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

V形磁场超时空转换器

V形磁场超时空转换器 时间和空间在客观世界中不是保持不变的。时间会随着空间曲率的增加而变慢。物体移动速度越快,时间就会越慢。当物体速度达到光速时,时间就会停止。但,两者改变的方向和宇宙膨胀的方向一致。也就…