逻辑地址 (Logical Address)
是指由程序产生的与段相关的偏移地址部分。
例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,与绝对物理地址无关。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样)。应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及。应用程序员虽然自己可以直接操作内存,那也只能在操作系统给你分配的内存段操作。
线性地址 (Linear Address)
是逻辑地址到物理地址变换之间的中间层。程序代码会产生逻辑地址,或者说是段中的偏移地址,加上相应段的基地址就生成了一个线性地址。如果启用了分页机制,那么线性地址可以再经变换以产生一个物理地址。若没有启用分页机制,那么线性地址直接就是物理地址。Intel 80386的线性地址空间容量为4G(2的32次方即32根地址总线寻址)。
物理地址(Physical Address)
是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就直接成为物理地址了。
虚拟内存 (Virtual Memory)
是指计算机呈现出要比实际拥有的内存大得多的内存量。因此它允许程序员编制并运行比实际系统拥有的内存大得多的程序。这使得许多大型项目也能够在具有有限内存资源的系统上实现。
有时我们也把逻辑地址称为虚拟地址。因为与虚拟内存空间的概念类似,逻辑地址也是与实际物理内存容量无关的。
逻辑地址与物理地址的“差距”是0xC0000000,是由于逻辑地址->线性地址->物理地址映射正好差这个值。这个值是由操作系统指定的。
逻辑地址到物理地址的转换
逻辑地址到物理地址的转化方法是与体系结构相关的。一般来说有分段、分页两种方式。
以现在的x86 cpu为例,分段分页都是支持的。Memory Mangement Unit负责从逻辑地址到物理地址的转化。逻辑地址是段标识+段内偏移量的形式,MMU通过查询段表,可以把逻辑地址转化为线性地址。如果cpu没有开启分页功能,那么线性地址就是物理地址;如果cpu开启了分页功能,MMU还需要查询页表来将线性地址转化为物理地址:
逻辑地址 ----(段表)---> 线性地址 — (页表)—> 物理地址
不同的逻辑地址可以映射到同一个线性地址上;不同的线性地址也可以映射到同一个物理地址上;所以是多对一的关系。另外,同一个线性地址,在发生换页以后,也可能被重新装载到另外一个物理地址上。所以这种多对一的映射关系也会随时间发生变化。
原文地址:http://my.oschina.net/alphajay/blog/5025
分享到:
相关推荐
逻辑IO与物理IO逻辑IO与物理IO逻辑IO与物理IO逻辑IO与物理IO
逻辑地址、线性地址、物理地址和虚拟地址 逻辑地址、线性地址、物理地址和虚拟地址
分页存储--逻辑地址转物理地址,几道比较经典的练习题,在互联网校招中经常出现
逻辑地址、线性地址、物理地址和虚拟地址的分析
1、 名词解释:逻辑地址、虚拟地址、线性地址、物理地址 2、 80386保护模式下虚拟地址是如何经过分段机制转化为线性地址再经过分页机制转化为物理地址的? 3、 什么是虚拟内存管理?80386为操作系统实现虚拟内存管理...
物理地址 逻辑地址 虚拟地址三者之间的比较
操作系统物理地址与逻辑地址转换课件 线程同步资料
Freescale S12 逻辑地址转为物理地址
操作系中分页式管理总的逻辑地址到物理地址的映射转换算法 C语言
我理解的逻辑地址、线性地址、物理地址和虚拟地址(补充完整了)
逻辑地址,线性地址及物理地址的区别,及映射关系,如何映射,取消映射
在不同的架构设计方法中出现的软件... 图1 区分物理视角与逻辑视角同样,在软件架构设计过程中,也可以通过区分软件的逻辑架构和物理架构,分别从不同的角度设计和描述软件架构。所谓软件架构视图,是指设计和看待
该文档介绍了内存物理地址和内存虚拟地址以及内存相对虚拟地址,可以帮助你学习内存知识
地址有两种:物理地址和逻辑地址,物理地址就是网卡的地址,但是网卡的地址随着厂商的不同而不同,不是统一的格式。在互联网上,利用上层软件来完成这个统一,也就是在ip协议层提供一种统一的地址格式,在统一管理下...
逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分;应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明...线性地址(Linear Address) 是逻辑地址到物理地址变换之间的中间层。
使用PowerDesign 进行概念设计、逻辑设计和物理设计教程
逻辑地址、线性地址、物理地址和虚拟地址理解.doc
概念模型、逻辑模型、物理模型区别(HZQ).doc