什么是虚地址,什么是物理地址?

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 什么是虚地址,什么是物理地址?

虚地址

虚地址,也被称为虚拟地址或虚拟内存,是内存管理的一种方式。它在磁盘上划分出一块空间由操作系统管理,当物理内存耗尽时充当物理内存来使用。虚拟地址将多个物理内存碎片和部分磁盘空间重定义为连续的地址空间,以此让程序认为自己拥有连续可用的内存。在程序执行时,CPU寄存器中的分页标志位如果被设置,那么执行内存操作的机器指令时,CPU会自动根据页目录和页表中的信息,把虚拟地址转换成物理地址,完成该指令。

物理地址

物理地址则是内存中各存储单元的编号,即存储单元的真实地址,它是可识别、可寻址并实际存在的。它是数据总线访问主存的某个特定存储单元的内存地址。在计算机科学中,物理地址也叫实地址或二进制地址。对于用户程序而言,经过编译或汇编形成的目标代码通常采用相对地址形式,其首地址为零,其余指令中的地址都是相对首地址而定。这个相对地址就称为逻辑地址。为了保证CPU执行程序指令时能正确访问存储单元,需要将用户程序中的逻辑地址转换成运行时可由机器直接寻址的物理地址,这一过程称为地址映射或地址重定位。

区别

在操作系统中,虚地址(虚拟地址)被用来为程序提供一个连续的内存视图,即使实际的物理内存可能并不连续。例如,一个程序可能认为它正在使用一个从地址0开始的大块连续内存,但实际上这些内存可能是分散在物理内存的不同位置,或者部分存储在硬盘上。操作系统和硬件共同工作,将虚拟地址转换为实际的物理地址,从而实现对内存的访问。

物理地址是内存芯片上的实际地址,用于直接访问内存中的特定位置。每个物理地址都对应内存中的一个具体存储单元。例如,如果我们有一个物理地址为0x1234的内存位置,那么这就是一个可以直接被CPU或DMA控制器等硬件访问的特定内存单元。

在地址转换的过程中,虚拟地址和物理地址之间的关系变得尤为重要。例如,一个程序可能试图访问虚拟地址0x8000,但操作系统和硬件知道这个地址实际上对应的是物理地址0x23456。这个转换过程通常由内存管理单元(MMU)来完成,它负责维护虚拟地址和物理地址之间的映射关系。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
2月前
|
存储 缓存 网络协议
|
2月前
请求分页给出逻辑地址,求对应的物理地址
请求分页内存管理中如何根据逻辑地址计算物理地址的过程,包括确定页号、计算偏移量,并将其转换为物理地址。
109 1
请求分页给出逻辑地址,求对应的物理地址
|
7月前
|
存储 程序员 芯片
虚拟地址和物理地址之间的区别
【4月更文挑战第12天】
623 2
虚拟地址和物理地址之间的区别
|
7月前
|
存储 安全 内存技术
地址映射
地址映射
227 0
|
存储 索引
逻辑地址与物理地址的转换
最近一直在学8086,上课老师突然问了个这。对于问题“8086 CPU 能提供20位的地址信息,可直接对1M个存储单元进行访问,而CPU内部可用来提供地址信息的寄存器都是16位,那怎样用16位寄存器来实现20位地址寻址呢"明白了不少。
173 0
|
存储
物理地址和逻辑地址的
最近一直在学8086!对于问题“8086 CPU 能提供20位的地址信息,可直接对1M个存储单元进行访问,而CPU内部可用来提供地址信息的寄存器都是16位,那怎样用16位寄存器来实现20位地址寻址呢"明白了不少。
119 0
|
存储
逻辑地址和物理地址转换
逻辑地址和物理地址转换
|
7月前
|
算法
页表、地址重定位、地址保护的名词解释
页表、地址重定位、地址保护的名词解释
101 0
|
7月前
|
索引
虚拟地址与物理内存地址是如何映射的
虚拟地址与物理内存地址是如何映射的
|
vr&ar UED
眼见为虚👓
虚拟现实(Virtual Reality,简称VR)技术已经成为了当今科技领域的一项重要突破。而作为VR技术的重要载体之一,VR眼镜在近年来越来越受到人们的关注和青睐。VR眼镜作为一种具有沉浸感的虚拟现实设备,为用户提供了身临其境的视觉体验。本文将介绍VR眼镜的原理、功能特点以及对各行各业的影响,探讨VR眼镜在未来的潜力和发展前景。