1.逻辑地址

是上层程序员可以操作的地址,和段相关的偏移地址部分,也就是变址寄存器中存储的32位偏移地址,而其他寄存器上的地址往往对于上层程序员来说是不可更改甚至是不可见的. 只有在实模式下,逻辑地址才和物理地址一致(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑地址也就是在保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样).应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及.应用程序员虽然自己可以直接操作内存,那也只能在操作系统给你分配的内存段操作。

2.物理地址

用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。在实地址模式(因为实模式没有分段或分页机制,Cpu不进行自动地址转换)下,程序员操作的就是物理地址,所谓的物理地址就是物理内存上的32位地址,即物理地址可以直接定位到物理内存上的位置,无论任何操作,最终都必须要得到物理地址才能在物理内存上进行操作。

3.虚拟地址

cup要访问虚拟内存地址时,需要经过地址翻译成物理地址才能访问。比如cpu要访问虚拟地址4100,需要通过专用的硬件内存管理单元(memory management unit)MMU来翻译成对应的内存物理地址4,然后cpu在内存地址4的位置上取到数据返回。

4.虚拟内存

在运行一个进程的时候,它所需要的内存空间可能大于系统的物理内存容量。通常一个进程会有4G的空间,但是物理内存并没有这么大,所以这些空间都是虚拟内存,它的地址都是逻辑地址,每次在访问的时候都需要映射成物理地址。

当进程访问某个逻辑地址的时候,会去查看页表,如果页表中没有相应的物理地址,说明内存中没有这页的数据,发生缺页异常,这时候进程需要把数据从磁盘拷贝到物理内存中。如果物理内存已经满了,就需要覆盖已有的页,如果这个页曾经被修改过,那么还要把它写回磁盘。

虚拟内存被分为一块块固定的大小,成为虚拟页(Virtual Page)简称VP,对应的物理内存也被分成一块块同样的大小,成为物理页(Physical Page)简称PP。磁盘和内存之间是以页为单位进行数据交换的。

逻辑地址、物理地址、虚拟地址、虚拟内存相关推荐

  1. 虚拟地址 虚拟内存 物理地址

    物理内存和虚拟内存 我们先来了解一下,什么是物理内存,什么又是虚拟内存? 1.物理内存:指通过物理内存条而获得的内存空间,主要作用是在计算机运行时为操作系统和各种程序提供临时储存. 2.虚拟内存:对内 ...

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

    逻辑地址.虚拟地址.线性地址.物理地址的区别: 虚拟地址: 在保护模式下,虚拟地址由段选择子+段内偏移量组成.利用段选择子可以获取到段描述符,再从段描述符中取得段的基地址.也就是说虚拟地址就是xxxx ...

  3. 【操作系统复习】物理地址虚拟地址

    [操作系统复习] 物理地址虚拟地址 物理地址和虚拟地址的区别 物理地址 逻辑地址 线性地址 为什么要分成物理地址和虚拟地址 物理内存及虚拟内存定义 为什么要有虚拟内存 虚拟内存的实现(可以在页式或段式 ...

  4. linux 神秘的0xC0000000内核逻辑地址内核虚拟地址直接映射高端内存

    0xC0000000个人笔记: 0xC0000000:3GB的起始地址.一个进程分为两个部分:私有和全局.私有部分是指进程自己的代码,而全局部分则是指内核代码.局部是进程私有的,而全局则是所有进程公用 ...

  5. 物理地址和逻辑地址(虚拟地址)

    1. 物理地址 物理地址是加载到内存地址寄存器中的地址,是指内存中各物理存储单元的地址从统一的基地址进行的顺序编址.又称绝对地址,它是数据在内存单元的真正地址. 在前端总线上传输的内存地址都是物理内存 ...

  6. 逻辑地址、线性地址、物理地址和虚拟地址初步认识

    早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址.当计算机同时运行多个程序时,必须保证这些 ...

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

    分析linux内存管理机制,离不了上述几个概念,在介绍上述几个概念之前,先从<深入理解linux内核>这本书中摘抄几段关于上述名词的解释: 一.<深入理解linux内核>的解释 ...

  8. linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解?进程虚拟地址4G指拥有4G的寻址能力,需要页表转换为实际物理地址,每个进程用到的内核是直接映射,地址的进程地址-3G的关系

    linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解? 问: linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解? 每个进程所拥有的4G独立的虚拟内存空间 ...

  9. 内存管理:物理地址、虚拟地址、逻辑地址

    内存管理:物理地址.虚拟地址.逻辑地址 1.物理地址.虚拟地址.逻辑地址 1.1 物理地址和虚拟地址 1.2 管理物理地址和虚拟地址之间关系的方式 1.2.1 内存分段 1.2.2 内存分页 1.3 ...

  10. (转)逻辑地址,线性地址,物理地址的差别

    段页式内存管理中,逻辑地址,线性地址,物理地址的差别 线性地址是逻辑地址到物理地址变换之间的中间层,是处理器可寻址的内存空间(称为线性地址空间)中的地址.程序代码会产生逻辑地址,或者说是段中的偏移地址 ...

最新文章

  1. Node.js复制/删除服务器端文件到指定目录文件夹下,并且预判是否存在该目录,如果没有,则递归创建该文件夹目录
  2. 构建根文件系统启动(1)
  3. TensorFlow人工智能引擎入门教程之二 CNN卷积神经网络的基本定义理解。
  4. mybatis + oracle insert clob,出现ORA-01461:仅能绑定要插入LONG列的LONG值
  5. 2017年新年问候-组内
  6. 网络与IO知识扫盲(六):多路复用器
  7. 对二进制文件的操作(c++ 程序设计 by 谭浩强 课本实例)
  8. JQ怎样返回顶部代码
  9. 三菱PLC编程软件 GX Developer 8.86 中文版的下载与安装 (win 7 64位)
  10. 设计模式小例子理解封装、继承、多态
  11. 常见的股票量化策略有哪些?
  12. 路径中“./”、“../”、“/”代表的含义 路径相关知识点总结
  13. markdown java代码块 语法_MarkDown 语法详解
  14. 嘟嘟牛mysql 密码_嘟嘟牛管家数据转化为万象、Pubwin的操作步骤
  15. 【OpenCV在图片上绘制点、圆(C++)】
  16. 还在想假期去哪玩?直接做一个旅游攻略小程序
  17. 如何在vue中设置全局方法
  18. TCP---拥塞控制
  19. 关于微服务和 Java 需要知道的 5 件事
  20. html登录错误有提示,为什么我登录之后的提示老是网页上有错误呢?

热门文章

  1. URL重定向漏洞钓鱼
  2. surprise协同过滤推荐系统实现数据处理逻辑
  3. EMDrive当然是不存在的
  4. 计算机技术在心理学研究应用,面向心理学领域的计算机技术的应用
  5. 全面理解哈希函数及其应用
  6. 初中参观机器人博物馆的作文_参观博物馆的作文700字优秀作文
  7. GET与POST千古疑问---kalrry
  8. 使用电信 TR069 内网架设 WireGuard 隧道异地组网
  9. 天猫双十一订单峰值58.3万笔/秒的背后,秘密都在这份文档里
  10. Android 安装应用的两种方式--外部应用安装器安装和静默安装(系统应用)