当前位置:  技术问答>linux和unix

x86地址空间

    来源: 互联网  发布时间:2016-08-20

    本文导语:  x86 架构中,内存被划分成 3 种类型的地址 物理地址没什么说得。 一直对逻辑地址和线性地址有点疑问。 就是搞不清楚咱们平时说得进程地址空间(4GB那个)对应哪个地址? 有资料说:每个段就是自己的地址空间...

x86 架构中,内存被划分成 3 种类型的地址
物理地址没什么说得。
一直对逻辑地址和线性地址有点疑问。
就是搞不清楚咱们平时说得进程地址空间(4GB那个)对应哪个地址?

有资料说:每个段就是自己的地址空间,那么正常在c程序里:
int a= 8;
然后对a取地址;
得到一地址,这个32位的地址(进程空间里的地址)是逻辑地址还是线性地址?


|
p是逻辑地址啊,要经过段式内存管理的转换才到进程用户空间的线性地址

|
你的P是逻辑地址(段选择+偏移量)中的偏移量,这个偏移量和操作系统有关的。
比如说windows xp 程序的加载地址是0x400000(4M处)

|
4M是编译的时候默认选定的吧, 在linux下程序加载的地址默认是从虚地址0x8048000开始的,但是可以改变。
在C程序中,要看int p;是全局变量还是函数的局部变量, 如果是局部变量则是分配在栈上, 分配的地址就更大了。

|
逻辑地址和线性地址是一样的
在8086下叫逻辑地址
但在80386下,它是从8086 80286过来 就把以前的段式映射延续下来 最后80386又出现页式映射,即80386里逻辑地址和线性地址是一样,只不过在不同映射下叫法不同

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Solaris 9是否有x86版本?免费吗?
  • S8 for X86怎么安装呀?
  • solaris8 for x86的支持那些网卡?谢了!
  • X86下使用C、C++
  • 有没有AIX for x86虚拟机
  • X86引导启动程序 我的OS第一帖
  • 我可以在机器上同时装win98,2000,linux,freeBSD,solaris x86吗?
  • solaris9 x86如何安装?必须要从软盘启动吗?
  • 小声的问一句,有没有能装在x86上的unix操作系统
  • 极小的x86操作系统 KolibriOS
  • Solaris for X86 和Solaris for Sparc主要区别在哪?
  • MacOS有没有X86平台上的版本?
  • x86(大雪), 谢谢你指点wget, 请进!
  • 关于mac os x86的问题,如何进入图形界面。
  • solaris8 for x86(intel)那里有的下
  • 请问哪有solaris x86 下载
  • 我想装Solaris for X86 能用软盘引导吗?
  • solaris 8 for x86能用 u盘哇?
  • solarsi10(x86)中如何安装Sundance ST201网卡?
  • NOSQL iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3