操作系统 地址 概念

逻辑地址(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还需要查询页表来将线性地址转化为物理地址:
逻辑地址 ----(段表)---> 线性地址 — (页表)—> 物理地址
不同的逻辑地址可以映射到同一个线性地址上;不同的线性地址也可以映射到同一个物理地址上;所以是多对一的关系。另外,同一个线性地址,在发生换页以后,也可能被重新装载到另外一个物理地址上。所以这种多对一的映射关系也会随时间发生变化。

时间: 2025-01-03 18:17:13

操作系统 地址 概念的相关文章

# 操作系统基本概念

操作系统基本概念 系统调用 为什么要提供系统调用,这是因为要将系统资源交由操作系统来进行一个统一的协调的管理. 对于编程语言来讲,操作系统提供的系统调用被封装成为了一个个的库函数,为编程人员屏蔽了下层的细节. 用户态和核心态 对于有一些操作(计算机指令的执行)来说,他是危险的.所以不能让所有的应用程序都可以执行,那么就可以轻易的造成破坏. 所以就将指令划分称为特权指令和非特权指令.并且规定特权指令只能够在核心态里面才能够执行.这样就将危险操作和普通操作隔离开来了. 同时在cpu中,使用某个寄存器

操作系统有关概念

什么是操作系统? 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机工作和资源分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统的最基本的系统软件. 即分为三个作用: 控制和管理计算机系统的硬件和软件资源 组织和调度计算机工作和资源分配 提供给用户和其他软件方便的接口和环境 实时与系统 嵌入式操作系统分为实时系统和非实时系统两类,常见的实时系统有:ThreadX.FreeRTOS.ucOS;常见的非实时系统有:windows.linux.Android. 实时

一、操作系统基本概念

学习方法:以问题驱动学习.理论联系实际 学习难点:概念.原理.算法.数据结构 什么是操作系统? 四种基本观点: 现代操作系统的特征.功能.类型 基本概念:批处理.多道程序设计.作业.任务.进程与线程.接口.虚拟存储.文件 关于现代OS的四种基本观点: 用户接口:用户命令:指计算机用户要求计算机系统为其工作的指示. 命令的表示形式:命令.菜单.图形 命令是使用方式:脱机和联机 虚拟机器观点:操作系统是建立在计算机硬件平台上的虚拟机器. 资源管理:操作系统是计算机系统中各类资源的管理者,他负责分配.

操作系统-进程概念

一.定义(Process) 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位 1.进程是程序的一次执行过程,是对CPU的抽象,是正在运行的程序的抽象 2.每个进程具有独立的地址空间 3.操作系统通过调度将CPU的控制权交给某个进程 二.进程控制块PCB(Process Control Block) 又称进程描述符,进程属性,是操作系统用于管理控制进程的一个专门的数据结构,记录进程的各种属性 PCB是系统感知进程存在的唯一标志,进程与PCB是一一对应的

操作系统基础概念

20150511 参考资料,只记录自己不懂的. http://blog.csdn.net/ckli/article/details/1680373 中断 Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3.Windows只 使用其中的两个级别RING0和RING3,RING0只给操作系统用,RING3谁都能用.

计算机与操作系统基础小结

计算机基础概念 1946年二月美国,世界上第一台电子计算机ENIAC诞生,似乎从这一年开始世界便逐渐变得不一样了.随着半个世纪的时间,计算机技术蓬勃发展,推动人类进入信息社会. 计算机操作界面: ①图形用户界面 ②命令行界面 在ENIAC计算机研制的同时,冯.诺依曼与莫尔小组合作研制EDVAC计算机,采用了存储程序方案,即把解题过程中的每一步用指令表示,并按执行顺序编写成为程序,存放在存储器中,称为冯.诺依曼计算机.冯.诺依曼计算机有着如下几个特点. (1)计算机由运算器,控制器,存储器,输入设

PHP就业班心得:IP与域名以及DNS和端口号的概念

什么是IP地址 概念:IP地址就相当于人们的身份证号码!每一个连入Internet的计算机都应该有全世界独一无二的IP地址 IP地址是使用32个bit位来保存,也就是4个字节! 为了方便记忆,采用十进制点分法来保存!也就是每1个字节(8个bit位转换成十进制单独存储) 10101010  10101110  10100101  11001100 分类: IP地址有A类.B类.C类.D类和E类之分,但是目前D类和E类是作为保留地址以后使用!目前市场上分成三类:A类.B类.C类 为了便于管理,认为的

转----操作系统与应用程序的关系

操作系统与应用程序的关系 --原博地址:http://blog.csdn.net/maochengtao/article/details/8943284 操作系统与应用程序的关系: 操作系统主要可以分为两大部分:内核和内核之外的一些程序. 内核就是直接控制最底层的硬件,而我们日常所用到的软件,大都是通过内核之外一些程序与内核之间的接口完成的,例如WINDOWS API就是为我们提供了应用程序与内核的接口,以实现硬件上的一些操作.操作系统(Operating System,简称OS)是一管理电脑硬

操作系统权限

2019-12-23 操作系统权限概述 1)操作系统权限概念说明2)操作系统默认权限设置(调整权限)3)操作系统读取数据原理4)操作系统特殊权限说明(setuid setgid 粘滞位)5)操作系统用户提权配置(sudo)6)操作系统用户相关命令7)操作系统用户相关文件(普通文件/目录文件) 一操作系统文件权限概念 操作系统基本权限:rwx操作系统权限划分:属主   属组     其他用户 对于一个普通文件:r:是否可以查看文件内容(是否可以查看block)w:是否可以编辑文件内容(是否可以改写