文档章节

逻辑地址,线性地址,物理地址

timer_xi
 timer_xi
发布于 2014/08/18 17:09
字数 527
阅读 16
收藏 0

本人是搞java开发的,但是了解一些底层的东西能帮助我理解一些编程上的东西。


linux使用的基本上都是虚拟地址,内核程序中用的是内核空间虚拟地址,应用程序中用的是用户空间虚拟地址。


逻辑地址就是虚拟地址,参照X86的cpu手册定义,逻辑地址的表示方式是 段地址:偏移地址,这里的逻辑地址就是偏移地址部分,段地址部分后面会提到。

 

物理地址可以理解为内存存储单元的地址,一一对应,对于32位系统支持4G最大。

 

线性地址是虚拟地址转换到物理地址的中间值,这个最难理解,也可以不用知道它的存在,忽略最简单。非要弄明白的话,就往下看。
段地址+偏移地址就是线性地址,也就是段地址+虚拟地址就是线性地址。为什么要+段地址,这个是X86的分段部件搞的鬼,只有加了才能符合X86CPU的寻址规则。内核空间和用户空间的段地址不一样,每个用户进程的段地址也不一样,这样就能产生不同的线性地址。

 

线性地址到物理地址的转换
线性地址分为3级,10bits + 10bits + 12bits
cr3寄存器存放 目录索引的地址
第一个10bits配合cr3寄存器的值用于用目录索引中查找出页表索引
第二个10bits用于从页表索引中查出页面基址
最后一个12bits用于页面中的偏址,加上页面基址得到物理地址

 

32位系统对于大于4G内存的支持
上面可以看出,32位系统最多支持4G内存,如果要支持大于4G内存,则要使用PAE,PAE支持的页式管理系统,负责把32位的线性地址映射到64GB物理空间的任何位置。


© 著作权归作者所有

上一篇: js框架
下一篇: JVM三个时代
timer_xi
粉丝 2
博文 53
码字总数 64113
作品 0
深圳
程序员
私信 提问
操作系统--虚拟内存、逻辑地址、线性地址、物理地址

逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数...

AlphaJay
2010/06/02
4.3K
0
Linux内存管理(x86-32位系统)

linux内存的管理主要分为两部分,地址管理和存储设备管理。下面针对这两部分介绍一下我对内存管理的理解。 硬件地址的基本概念 DRAM域地址:是DRAM控制器所能访问的地址空间集合。 PCI总线域...

hoolev
2015/04/14
337
0
由fork()和vfork()回忆下OS的内存管理

使用fork产生的子进程复制了父进程的代码段和数据段, 我们现在假定在父进程中有一个变量var,初始值为88 子进程也有一个var,初始值也是88,修改子进程的var,父进程的var并不改变 而且父进程和...

晨曦之光
2012/04/13
163
0
Linux 0.12内核与现代内核在内存管理上的区别

0.12内核的内存管理比较简单粗暴,内核只用了一个页目录,只能映射4G的线性空间,所以每个进程的虚拟空间(逻辑空间)只能给到64M,最多64个进程;每个进程都有对应的任务号nr,当一个进程需...

Kernel开发者
2015/12/19
0
0
数据结构—概述

数据结构概述: 程序设计 = 数据结构 + 算法 数据结构:数据元素之间存在所有特定关系的集合,数据结构可以分为物理结构和逻辑结构 逻辑结构: (1)集合结构——元素同属于一个集合 (2)线...

翼动动空
2016/05/08
7K
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot2.0 maven打包分离lib,resources

springboot将工程打包成jar包后,会出现获取classpath下的文件出现测试环境正常而生产环境文件找不到的问题,这是因为 1、在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路...

陈俊凯
今天
4
0
BootStrap

一、BootStrap 简洁、直观、强悍的前端开发框架,让web开发更加迅速、简单 中文镜像网站:http://www.bootcss.com 用于开发响应式布局、移动设备优先的WEB项目 1、使用boot 创建文件夹,在文...

wytao1995
今天
9
0
小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
今天
8
0
《JAVA核心知识》学习笔记(6. Spring 原理)-5

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。 6.1.1. Spring 特点 6.1.1.1. 轻量级 6.1.1.2. 控制反转 6.1.1....

Shingfi
今天
7
0
Excel导入数据库数据+Excel导入网页数据【实时追踪】

1.Excel导入数据库数据:数据选项卡------>导入数据 2.Excel导入网页数据【实时追踪】:

东方墨天
今天
8
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部