逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样)。应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及。应用程序员虽然自己可以直接操作内存,那也只能在操作系统给你分配的内存段操作。

线性地址(Linear Address) 是逻辑地址到物理地址变换之间的中间层。程序代码会产生逻辑地址,或者说是段中的偏移地址,加上相应段的基地址就生成了一个线性地址。如果启用了分页机制,那么线性地址可以再经变换以产生一个物理地址。若没有启用分页机制,那么线性地址直接就是物理地址。Intel 80386的线性地址空间容量为4G(2的32次方即32根地址总线寻址)。

物理地址(Physical Address) 是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就直接成为物理地址了。

虚拟内存(Virtual Memory) 是指计算机呈现出要比实际拥有的内存大得多的内存量。因此它允许程序员编制并运行比实际系统拥有的内存大得多的程序。这使得许多大型项目也能够在具有有限内存资源的系统上实现。一个很恰当的比喻是:你不需要很长的轨道就可以让一列火车从上海开到北京。你只需要足够长的铁轨(比如说3公里)就可以完成这个任务。采取的方法是把后面的铁轨立刻铺到火车的前面,只要你的操作足够快并能满足要求,列车就能象在一条完整的轨道上运行。这也就是虚拟内存管理需要完成的任务。在Linux 0.11内核中,给每个程序(进程)都划分了总容量为64MB的虚拟内存空间。因此程序的逻辑地址范围是0x0000000到0x4000000。

有时我们也把逻辑地址称为虚拟地址。因为与虚拟内存空间的概念类似,逻辑地址也是与实际物理内存容量无关的。

逻辑地址与物理地址的“差距”是0xC0000000,是由于虚拟地址->线性地址->物理地址映射正好差这个值。这个值是由操作系统指定的。

虚拟地址到物理地址的转化方法是与体系结构相关的。一般来说有分段、分页两种方式。以现在的x86 cpu为例,分段分页都是支持的。Memory Mangement Unit负责从虚拟地址到物理地址的转化。逻辑地址是段标识+段内偏移量的形式,MMU通过查询段表,可以把逻辑地址转化为线性地址。如果cpu没有开启分页功能,那么线性地址就是物理地址;如果cpu开启了分页功能,MMU还需要查询页表来将线性地址转化为物理地址:
逻辑地址 ----(段表)---> 线性地址 — (页表)—> 物理地址
不同的逻辑地址可以映射到同一个线性地址上;不同的线性地址也可以映射到同一个物理地址上;所以是多对一的关系。另外,同一个线性地址,在发生换页以后,也可能被重新装载到另外一个物理地址上。所以这种多对一的映射关系也会随时间发生变化。

转载于:https://www.cnblogs.com/xiaodaxiaonao/p/7122695.html

操作系统 地址 概念相关推荐

  1. 深入理解Linux内核(一)——Linux操作系统基础概念

    文章目录 前言 操作系统基本概念 多用户系统 用户和组 进程 内核体系结构 Unix文件系统概述 文件 硬链接和软链接 文件类型 文件描述符与索引节点 访问权限和文件模式 文件操作的系统调用 打开文件 ...

  2. (二.Windows7操作系统基本概念 三.字处理软件Word 2010 四.电子表格系统Excel 2010 五. 演示文稿文件PowerPoint 2010)

    ※▲计算机文化基础知识 二.Windows7操作系统基本概念 1.操作系统概述 2.Windows7基础 3.Windows7 的文件夹和文件夹管理 4.Windows7控制面板 5.Windows7 ...

  3. linux 的手机操作系统下载地址,Linux系统运维之下载Linux操作系统地址

    本文主要向大家介绍了Linux系统运维的下载Linux操作系统地址,通过具体的内容向大家展现,希望对的大家学习Linux运维知识有所帮助. 有很多初次接触Linux的新人都会发问,应该到哪里下载Lin ...

  4. 网页访问服务器默认什么端口号,URL中没有端口号默认为80?详解IT产品必须熟知的访问地址概念!...

    原标题:URL中没有端口号默认为80?详解IT产品必须熟知的访问地址概念! 作为一个互联网产品经理,你可能每天打开几十个网页,但你有没有观察过他们的网址? 作者带你庖丁解牛并把网址拆开.标准URL地址 ...

  5. Autosar模块介绍:AutosarOS_2(操作系统基本概念)

    上一篇 | 返回主目录 | 下一篇 AutosarOS_2:操作系统基本概念 1 任务管理(Task Management) 1.1 任务基本概念及分类 1.1.1 基础任务(Basic Task, ...

  6. (一)操作系统基本概念(任哲版嵌入ucos和linux笔记)

    1.操作系统的功能: ①对计算机硬件的封装和功能的扩充:HAL层(计算机硬件抽象层)是OS的最底层,是对计算机硬件的第一次软件封装.API中与硬件相关的那些函数就是对计算机硬件的第二次抽象和封装.所以 ...

  7. 【计算机操作系统基本概念】

    1.计算机操作系统的概念 计算机操作系统是指控制和管理计算机的软.硬件资源,合理组织计算机的工作流程,方便用户使用的程序集合. 2.操作系统的功能 1)处理机管理 2)存储管理 3)设备管理 4)文件 ...

  8. 北京dns服务器ip地址_什么是DNS? 域名系统,DNS服务器和IP地址概念介绍

    北京dns服务器ip地址 介绍 (Introduction) By the end of this article, you should have a better understanding of ...

  9. 让你了解操作系统基本概念

    前言:本文是<操作系统教程(陈怀临注释)>的读书笔记,陈首席是在原书pdf 图片上注解,字体比较模糊,故我把注释中觉得比较重要的片段摘录下来.读完此文可以让非技术人员对操作系统有框架性的认 ...

最新文章

  1. 熔断器熔断时间标准_一种熔断器熔断时间测试电路的制作方法
  2. 浅谈计算机程序设计语言,探讨计算机程序设计语言教学
  3. 中livechart显示大数据_Servlet中利用jdbc加载显示数据
  4. vue 子级拿值_Vue 父组件主动获取子组件的值,子组件主动获取父组件的值
  5. 《原力计划【第二季】》第 7 周周榜揭晓!!!
  6. hdu 1162(最小生成树kruskal)
  7. Java测试新手_测试新手的一些经验
  8. 服务器版dll修复工具,dll修复工具
  9. [学习笔记-SLAM篇]视觉SLAM十四讲ch3
  10. eclipse中pom文件的查看
  11. Docker下安装RabbitMQ
  12. GPS观测值的线性组合
  13. 信息收集之主动信息收集(一)
  14. 【Java并发编程实战14】构建自定义同步工具(Building-Custom-Synchronizers)
  15. 无名师的Unix心传
  16. Typora 1.3.8 安装激活教程
  17. 原生Android平板,LG G Pad 8.3评测:原汁原味的安卓平板
  18. Grapher是二维绘图软件,主要用于绘制剖面图、直方图、曲线图等
  19. matlab中的delaunay,python – Matlab delaunayn和Scipy Delaunay之间的区别
  20. 一笔画完C语言程序寻找路径算法

热门文章

  1. 打造RIS服务器 软件在局域网中自动安装
  2. windows server r2 之如何设置共享文件夹访问不需要输入用户名和密码
  3. 1、oracle后台进程(数据字典V$BGPROCESS)
  4. 深入浅出Mybatis系列(十)---SQL执行流程分析(源码篇)
  5. 后台运行定位,音频,网络电话
  6. Exchange Server 2003多服务器安装以及管理工具介绍
  7. Android.Hook框架xposed篇(Http流量监控)
  8. myBaits SQL
  9. linux系统下对网站实施负载均衡+高可用集群需要考虑的几点
  10. 《软件定义网络:基于OpenFlow的SDN》一一2.5 本章总结