逻辑地址、虚拟地址、线性地址、物理地址

关于虚拟地址,线性地址,逻辑地址还有物理地址的区分 本文主要是参考Linux0.11内核的32位地址区分,不过于现阶段的64位地址区分差别不太大,理解Linux0.11,有助于理解现阶段的64位体系下地址的概念。 (注意x86体系是小端存放数据) 1,虚拟地址:是由程序产生的**段选择符**和**段内偏移地址**两个部分组成。 因为这两部分都不能直接访问物理内存,要经过分段处理后才可以可能对应到物 理地址上(如果打开分页机制,还需要经过分页 阅读详情

逻辑地址、虚拟地址、线性地址、物理地址的区别:

虚拟地址:

在保护模式下,虚拟地址由段选择子+段内偏移量组成。利用段选择子可以获取到段描述符,再从段描述符中取得段的基地址。也就是说虚拟地址就是xxxx:yyyy yyyy这玩意儿。而在实模式下,也是这样,只是对应的xxxx的意义发生了改变,xxxx就代表了段基址,而不需要再经过刚才的过程去获取。(如果对该过程感兴趣请参考上一篇博文)在分页机制下,cpu生成的地址就是虚拟地址,再通过mmu转换成物理地址。

物理地址:

物理地址代表了数据在物理内存中真实的位置。如果未启用分页机制,那么虚拟地址通过段基址+段内偏移得到的值就是真实的物理地址,如果启用了分页机制,得到的值就是下面要说的线性地址。

线性地址:

段基址+段内偏移得到的值就是线性地址。启用了分页机制的条件下,如果想通过线性地址得到物理地址,那么就要用分页机制里面的转换方法来获取物理地址。

逻辑地址:

逻辑地址和虚拟地址很相似,而且各种书中对这两者的定义也有所不同,比如:
LDD(《Linux设备驱动程序》) 15.1.1书中说道:”ALL logical addresses are kernel virtual addresser,but mang kernel virtual addresses are not logical address.For example,memory allocated by vmalloc has a virtual address(but no direct physical mapping)”。意思就是所有的逻辑地址都是内核虚拟地址,但是大多数内核虚拟地址不是逻辑地址。比如,vmalloc分配的内存有虚拟地址(但是没有直接物理映射)。
但是其它书中又有提到逻辑地址是由程序产生的段内偏移地址。经过自己理解,我认为虚拟地址就是经过分页地址形成的空间,而逻辑地址即段内或者页内偏移地址。也就是说,逻辑地址只是虚拟地址的一个子集。

物理地址,虚拟地址,逻辑地址,线性地址概念 文章目录 在使用DOS的时代,或现在使用单片机,内存以KB为单位,程序规模相对较小。这时候程序使用的是绝对地址,当需要操作内存时,CPU将程序提供的地址送到地址总线,再通过地址译码器,便可以定位到内存中的某个字节。这时候使用的地址,也是物理地址,可以认为物理地址表示一个字节再RAM/ROM中电路布局,所定位的位置不会改变(当然在硬件配置不改变的前提下,了解过单片机的都知道,电路引脚换一换,物理地址... 阅读详情

相关推荐

linux内存管理---物理地址、线性地址、虚拟地址、逻辑地址之间的转换

这几个地址之间的转换

鱼思故渊的专栏 5354

虚拟地址、逻辑地址、线性地址、物理地址的区别

  虚拟地址、逻辑地址、线性地址、物理地址的区别1)       虚拟地址:是由程序产生的由段选择符和段内偏移地址组成的地址。这2部分组成的地址并不能直接访问物理内存,而是要通过分段地址的变化处理后才会对应到相应的物理内存地址。2)       逻辑地址:指由程序产生的段内偏移地址。逻辑地址与虚拟地址二者之间没有明确的界限。3)       线性地址:指虚拟地址到物理地址变换的中间层,是处理器可寻...

qiuchaoxi的博客 1万+

Source Insight 4.0 及最新版序列号验证机制全解析:如何快速定位关键函数并构造有效Key

本文深入解析了Source Insight 4.0及最新版的序列号验证机制,详细介绍了如何快速定位关键函数并构造有效Key。通过静态分析和动态调试技术,帮助开发者理解现代软件保护的设计哲学,掌握逆向分析方法论,提升安全研究能力。

weixin_26642481的博客 427

[嵌入式系统-8]:逻辑地址、虚拟地址、物理地址以及地址映射

在计算机系统中,无论是程序,还是数据,都是按照地址存放的,然而,物理地址空间是有限的,应用程序是无限的,如何使用有限的物理地址空间,容纳无限的应用程序呢?本文探讨常见的三种类型的地址,看看他们是如何复用有限的物理地址空间?逻辑地址、虚拟地址、物理地址。在计算机系统中,逻辑地址是指程序中使用的地址,它是相对于程序自身的地址空间而言的。逻辑地址是由程序生成和使用的,它不直接映射到物理硬件上的存储单元,而是需要经过地址转换才能最终映射到物理地址上。在运行时,当程序访问内存中的数据或指令时,使用的是逻辑地址。

文火冰糖(王文兵)的博客 8155

APK静态分析(取证角度)——理论部分

APP是指应用程序(Application),是指能够在手机、平板电脑、电脑等移动设备上运行的软件。APP可以帮助用户进行各种功能操作,如社交媒体、游戏、购物、学习、工作等。用户可以通过应用商店或者在线下载安装APP,然后在设备上使用它们。APP的种类非常丰富,能够满足用户不同的需求和兴趣。

currify的博客 3208

高效数据迁移:ICCAP到ADS的数据导入与导出实战指南

本文提供了从ICCAP到ADS进行高效、准确数据迁移的实战指南。针对射频与微波电路设计中的关键挑战,详细阐述了迁移前的战略规划、ICCAP数据的精细化导出(包括脚本化批处理)、ADS数据的多种导入方法(如Data Items、DML模型库及编程化API),并强调了数据完整性与准确性验证的重要性,确保模型参数和仿真结果在平台间可靠传递。

weixin_29291185的博客 132

虚拟地址和逻辑地址之间的区别

Linux系统的每一个段都是从0开始,也就是所有段的起始地址都一样,就等于屏蔽了处理器里面逻辑地址的概率(即在Linux里面逻辑地址=线性地址=虚拟地址),段只被用来进行访问控制和内存保护。逻辑地址:程所使用的地址,比如某一行代码所在的地址。逻辑地址=段+段偏移。线性地址(虚拟地址):逻辑地址经过段式内存映射后的地址。物理地址:虚拟地址经过页式转换后的地址。

symsyq的博客 865

DDR内存条选购避坑指南:单Rank vs 双Rank性能实测对比(附2024年颗粒推荐)

本文深入解析了内存条中单Rank与双Rank设计的原理与性能差异。通过实战测试对比,揭示了双Rank内存在高负载场景(如3D渲染、视频剪辑)中凭借Rank Interleaving技术带来的显著性能优势,并提供了2024年针对不同用户需求的DDR4/DDR5内存选购策略与避坑指南。

ik678901的博客 1134

逻辑地址 虚拟地址 物理地址 总线地址的区别

UTLK上说用于内存芯片级的单元寻址,真实的开发环境中不止这些,因为处理器外部除了RAM还需要别的外设,如nand, spi,serial(当然是指的这些外设的controller)等。 物理地址实际是处理器真实发送到其地址总线上的地址,而该地址应该访问到谁(ram?nand controller?)这个需要看该设备系统总线的仲裁,也就是总线仲裁,现在常用的总线仲裁有AXI AHBA等。

做一个有技术追求的人 9009

华为交换机密码策略配置避坑指南:明文/密文、长度、复杂度,一个命令就出错

本文详细解析华为交换机密码策略配置的关键要点,包括密码长度、复杂度及等保合规要求。通过实战案例揭示常见配置误区,如明文/密文密码格式差异、复杂度检查联动机制等,帮助网络工程师避免安全漏洞。特别针对等保二级和三级要求,提供可直接落地的安全加固方案。

weixin_30879169的博客 368

笔试题-2023-乐鑫-数字IC设计【纯净题目版】

笔试题-2023-乐鑫-数字IC设计【纯净题目版】

w0shishabi的博客 1779

物理地址、虚拟地址(线性地址)、逻辑地址以及MMU的知识

一、首先不得不提的历史          许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还有用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程

Macross的专栏 1万+

SAP物料主数据归档详解(物理删除)

顾问们的回答肯定的统一的不能,只能打上删除标记。物料设置好需要删除的物料号这里我们需要删除的物料是AG88,其中,若不选“考虑无删除标记的物料”,需要将需要归档的物料MM06打删除标记。平时在操作系统过程中经常会不小心创建出很多无用的物料主数据,但是系统只能通过MM06打上删除标记,但是物料最终在系统中还是可以查询到的。6、执行已设置变式的归档程序,执行完毕,点下图中的“Job”,每次执行完归档程序会产生两条作业。然后设置好开始的参数和假脱机的参数,三个都是绿灯就可以执行归档的操作,物理上删除物料主数据。

我小时候很黑的博客 5525

LINUX 逻辑地址、线性地址、虚拟地址和物理地址

1、概念解释 物理地址: 用于内存芯片级的单元寻址,与地址总线相对应。这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这样。所以,说它是“与地址总线相对应”,是更贴切一些,不过抛开对...

十一月zz的博客 7818

详解【异质图卷积网络 RGCN】回顾:图神经网络问题的三大处理步骤 | 从起源说起,RGCN核心公式解释,两种降低模型参数量/优化的方式,附核心代码实现讲解

本篇,我们深入分析和学习RGCN的原理以及为何要这么做。首先让我们来回顾对于图神经网络问题的三大处理步骤,可以说,这是该深度学习模型的基本理解,后续都是在深化其中的细节处理。然后以容易理解的方式,引出异质图卷积网络RGCN的由来,主要讲解其核心公式和论文中作者所提出的两种降低模型参数量/优化的处理办法,并给出基础分解以及块对角分解的核心实现代码讲解。最后附上RGCN源代码及说明。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 1281

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

linux内存管理---虚拟地址、逻辑地址、线性地址、物理地址的区别(一)

虚拟地址 、物理地址 、线性地址 、逻辑地址

鱼思故渊的专栏 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

linux内核中 逻辑地址、虚拟地址、线性地址和物理地址大扫盲

很多讲linux内核的书里面都提到过这四个概念:逻辑地址、虚拟地址、线性地址和物理地址。物理地址比较好澄清,但是这些书里都没有明确的讲清楚所谓的逻辑地址、虚拟地址、线性地址的区别到底是什么? 那本文就来个大扫除吧。 中英文对应关系: 逻辑地址 --- logical address; 虚拟地址 --- virtual address; 线性地址 --- linear address; 物理地址 --- physical address; 这四个地址是体系相关的,我以x86 cpu为例进行解释。

ludongguoa的博客 2639

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

逻辑地址 线性地址 虚拟地址 物理地址关系

一、概念 物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。 ——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这样。所以,...

icandoit2010的专栏 2601

虚拟地址,逻辑地址,线性地址,物理地址有什么区别

虚拟地址是由程序产生的由段选择符和段内偏移地址组成的地址。这两部分组成的地址并没有直接访问物理内存,而是要通过分段地址的变换处理后才会对应到相应的物理内存地址。 逻辑地址指由程序产生的段内偏移地址。有时把逻辑地址当成虚拟地址,两者并没有明确的界限。 线性地址是指虚拟地址到物理地址变换的中间层, 是处理器可寻址的内存空间(称为线性地址空间)中的地址。程序代码会产生逻辑地址,或者说段中的偏移地

u011101683的专栏 3860

x86/64-物理地址、虚拟地址、线性地址、逻辑地址

文章摘要:本文梳理了x86架构中的地址转换机制。总结了物理地址、虚拟地址、线性地址、逻辑地址的定义和相互转换关系。

qq_24993025的博客 842

虚拟地址、逻辑地址、线性地址、物理地址

虚拟地址 指由程序产生的由段选择符和段内偏移地址组成的地址。 逻辑地址 指由程序产生的段内偏移。有时候直接把逻辑地址当做虚拟地址。 线性地址 指虚拟地址到物理地址变换的中间层,是处理器可寻址的内存空间中的地址。程序代码会产生逻辑地址,也就是段中的偏移地址,加上相应的段基址就成了线性地址。如果开启了分页机制,那么线性地址需要再经过变换,转为为物理地址。如果无分页机制,那么线性地址就是物理地...

QQ2558030393的博客 918

逻辑地址、线性地址、物理地址和虚拟地址

逻辑地址、线性地址、物理地址和虚拟地址(转载) 一、概念 物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。 ——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上

1225

虚拟地址、逻辑地址、线性地址、物理地址区别

虚拟地址、逻辑地址、线性地址、物理地址区别       虚拟地址:指的是由程序产生的由段选择符和段内偏移地址两个部分组成的地址。为什么叫它是虚拟的地址呢?因为这两部分组成的地址并没有直接访问物理内存,而是要通过分段地址的变换机构处理或映射后才会对应到相应的物理内存地址。       逻辑地址:指由程序产生的与段相关的偏移地址部分。不过有些资料是直接把逻辑地址当成虚拟地址,两

1334

关于逻辑地址、线性地址、虚拟地址、物理地址的理解

最近在看《深入理解Linux内核》,在第二章《内存寻址》中提到了逻辑地址、线性地址、虚拟地址、物理地址的概念。 原文是这么描述的: 逻辑地址(logical address): 包含在机器语言指令中用来指定一个操作数或一条指令的地址。这种寻址方式在80x86著名的分段结构中表现得尤为具体,它促使MS-DOS或Windows程序员把程序分成若干段。每一个逻辑地址都由一个段(segmemt)和偏移量(...

weixin_34380948的博客 361

逻辑地址、物理地址、线性地址、虚拟地址、段基地址偏移地址的联系和区别

1.物理地址:是指在 CPU 外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果,是内存储器中的实际有效地址,也叫作绝对地址,从0开始顺序编排,直到其支持的最大存储单元。处理器使用物理地址访问主存储器芯片。 我是黑体字 2.逻辑地址:是在有地址变换功能的计算机中,访内指令给出的地址 (操作数) 叫逻辑地址,也叫相对地址,也就是机器语言指令中,用来指定一个操作数或是一条指令的地址。要经过寻址方式的计算和变换才得到物理地址。一个逻辑地址由两部份组成,段标识符: 段内偏移量。同时处理器内部以及程序员编程

m0_46339652的博客 1万+

逻辑地址 虚拟地址 线性地址 物理地址

无分页机制时,线性地址就是物理地址,有分页时,MMU还需要查询页表来将线性地址转化为物理地址:逻辑地址(段表)->线性地址(页表)->物理地址。指虚拟地址到物理地址变换的中间层,是处理器可寻址的内存空间中的地址。程序代码会产生逻辑地址,也就是段中的偏移地址,加上相应的段基址就成了线性地址。映射是一种多对一的关系,即不同的逻辑地址可以映射到同一个线性地址上;而且,同一个线性地址在换页之后,可能被装载到另一个物理地址上,所以这种多对一的映射关系会随时间发生变化。虚拟地址、逻辑地址、线性地址、物理地址的区别。..

qq28117036的博客 634
上一篇: GDT、GDTR、LDT、LDTR
下一篇: 深入研究signal和sigaction
UKey_
博客等级 码龄10年 258粉丝 186原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值