操作系统 地址 概念
逻辑地址(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
操作系统 地址 概念相关推荐
- 深入理解Linux内核(一)——Linux操作系统基础概念
文章目录 前言 操作系统基本概念 多用户系统 用户和组 进程 内核体系结构 Unix文件系统概述 文件 硬链接和软链接 文件类型 文件描述符与索引节点 访问权限和文件模式 文件操作的系统调用 打开文件 ...
- (二.Windows7操作系统基本概念 三.字处理软件Word 2010 四.电子表格系统Excel 2010 五. 演示文稿文件PowerPoint 2010)
※▲计算机文化基础知识 二.Windows7操作系统基本概念 1.操作系统概述 2.Windows7基础 3.Windows7 的文件夹和文件夹管理 4.Windows7控制面板 5.Windows7 ...
- linux 的手机操作系统下载地址,Linux系统运维之下载Linux操作系统地址
本文主要向大家介绍了Linux系统运维的下载Linux操作系统地址,通过具体的内容向大家展现,希望对的大家学习Linux运维知识有所帮助. 有很多初次接触Linux的新人都会发问,应该到哪里下载Lin ...
- 网页访问服务器默认什么端口号,URL中没有端口号默认为80?详解IT产品必须熟知的访问地址概念!...
原标题:URL中没有端口号默认为80?详解IT产品必须熟知的访问地址概念! 作为一个互联网产品经理,你可能每天打开几十个网页,但你有没有观察过他们的网址? 作者带你庖丁解牛并把网址拆开.标准URL地址 ...
- Autosar模块介绍:AutosarOS_2(操作系统基本概念)
上一篇 | 返回主目录 | 下一篇 AutosarOS_2:操作系统基本概念 1 任务管理(Task Management) 1.1 任务基本概念及分类 1.1.1 基础任务(Basic Task, ...
- (一)操作系统基本概念(任哲版嵌入ucos和linux笔记)
1.操作系统的功能: ①对计算机硬件的封装和功能的扩充:HAL层(计算机硬件抽象层)是OS的最底层,是对计算机硬件的第一次软件封装.API中与硬件相关的那些函数就是对计算机硬件的第二次抽象和封装.所以 ...
- 【计算机操作系统基本概念】
1.计算机操作系统的概念 计算机操作系统是指控制和管理计算机的软.硬件资源,合理组织计算机的工作流程,方便用户使用的程序集合. 2.操作系统的功能 1)处理机管理 2)存储管理 3)设备管理 4)文件 ...
- 北京dns服务器ip地址_什么是DNS? 域名系统,DNS服务器和IP地址概念介绍
北京dns服务器ip地址 介绍 (Introduction) By the end of this article, you should have a better understanding of ...
- 让你了解操作系统基本概念
前言:本文是<操作系统教程(陈怀临注释)>的读书笔记,陈首席是在原书pdf 图片上注解,字体比较模糊,故我把注释中觉得比较重要的片段摘录下来.读完此文可以让非技术人员对操作系统有框架性的认 ...
最新文章
- 熔断器熔断时间标准_一种熔断器熔断时间测试电路的制作方法
- 浅谈计算机程序设计语言,探讨计算机程序设计语言教学
- 中livechart显示大数据_Servlet中利用jdbc加载显示数据
- vue 子级拿值_Vue 父组件主动获取子组件的值,子组件主动获取父组件的值
- 《原力计划【第二季】》第 7 周周榜揭晓!!!
- hdu 1162(最小生成树kruskal)
- Java测试新手_测试新手的一些经验
- 服务器版dll修复工具,dll修复工具
- [学习笔记-SLAM篇]视觉SLAM十四讲ch3
- eclipse中pom文件的查看
- Docker下安装RabbitMQ
- GPS观测值的线性组合
- 信息收集之主动信息收集(一)
- 【Java并发编程实战14】构建自定义同步工具(Building-Custom-Synchronizers)
- 无名师的Unix心传
- Typora 1.3.8 安装激活教程
- 原生Android平板,LG G Pad 8.3评测:原汁原味的安卓平板
- Grapher是二维绘图软件,主要用于绘制剖面图、直方图、曲线图等
- matlab中的delaunay,python – Matlab delaunayn和Scipy Delaunay之间的区别
- 一笔画完C语言程序寻找路径算法
热门文章
- 打造RIS服务器 软件在局域网中自动安装
- windows server r2 之如何设置共享文件夹访问不需要输入用户名和密码
- 1、oracle后台进程(数据字典V$BGPROCESS)
- 深入浅出Mybatis系列(十)---SQL执行流程分析(源码篇)
- 后台运行定位,音频,网络电话
- Exchange Server 2003多服务器安装以及管理工具介绍
- Android.Hook框架xposed篇(Http流量监控)
- myBaits SQL
- linux系统下对网站实施负载均衡+高可用集群需要考虑的几点
- 《软件定义网络:基于OpenFlow的SDN》一一2.5 本章总结