码迷,mamicode.com
首页 > 系统相关 > 详细

linux 内存管理(菜鸟理解)--寻址1

时间:2014-11-26 20:36:26      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:使用   sp   数据   bs   代码   linux   as   管理   nbsp   

一.使用80x86 微处理器,必须搞懂以下三种不同的地址:

1)逻辑地址——每个逻辑地址由一个段标示符+段内偏移量构成(自己认为这个逻辑地址指向的就是程序代码的或数据的地址)

2)线性地址——32位无符号整数,可表示4GB的线性地址,通常十六位进制表示,0x00000000---0xffffffff

3)物理地址——先简单的理解为那块内存条

像我一样的菜鸟对线性地址和物理地址会有一些主观的认识的,但对逻辑地址的组成应该是没什么主观的看法吧。

其实除了物理地址以为,线性和逻辑地址都只是一堆数据而已,而这堆数据时如何存储,存在外存还是内存,我现在还不清楚。

 

二.逻辑地址

(个人理解“段”就是某一程序被调入内存的指令集合数据的开始到结束那一部分)

段标示符是一个16位长的字段,称为段选择符。顾名思义,是用来选择段的一个标识。这个段由3一些字段表示索引号,索引的就是具体哪个段。

每个段由一个8字节的段描述符表示(类似于一片文章的大纲),描述段的特征(具体请百度)。段描述符放在GDT/LDT 中 (全局描述符表/局部描述符表)

段也好,段描述符也好只是一堆数据,因此GDT在主存中的地址和大小放在gdtr控制寄存器中,而当前被使用的LDT地址和大小被放在ldtr控制器中。

今天就写到这里,这是我这个菜鸟今天的收获,拿来与大家分享,有不对的地方 一定要帮小弟指出来啊!!谢谢^_^

 

linux 内存管理(菜鸟理解)--寻址1

标签:使用   sp   数据   bs   代码   linux   as   管理   nbsp   

原文地址:http://www.cnblogs.com/msh-/p/4124767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!