当前位置: 技术问答>linux和unix
关于虚拟地址的问题......
来源: 互联网 发布时间:2015-07-12
本文导语: 这几天在看linux内存管理,有一个地方不明白: 大家都知道在程序运行时,存在虚拟地址和物理地址的概念。 物理地址在每次执行同一个程序时,操作系统肯定会根据当时内存 的状态而分配一段物理地址空间...
这几天在看linux内存管理,有一个地方不明白:
大家都知道在程序运行时,存在虚拟地址和物理地址的概念。
物理地址在每次执行同一个程序时,操作系统肯定会根据当时内存
的状态而分配一段物理地址空间给程序,因此,每次运行都会分配
到不同的地址空间。
虚拟地址和物理地址存在一定的映射关系。
问题:
对于一个给定的程序如XXX,每次运行XXX时,它的虚拟地址都是一样的吗?
如果不一样,又是根据什么而来的呢?
linux老鸟们指点一下吧!!!
大家都知道在程序运行时,存在虚拟地址和物理地址的概念。
物理地址在每次执行同一个程序时,操作系统肯定会根据当时内存
的状态而分配一段物理地址空间给程序,因此,每次运行都会分配
到不同的地址空间。
虚拟地址和物理地址存在一定的映射关系。
问题:
对于一个给定的程序如XXX,每次运行XXX时,它的虚拟地址都是一样的吗?
如果不一样,又是根据什么而来的呢?
linux老鸟们指点一下吧!!!
|
程序运行的起始地址是连接程序设置的,每次运行都一样
动态库.so也有一个起始地址,但是如果调用的程序把那个地址占了,那么会重新定位
动态库.so也有一个起始地址,但是如果调用的程序把那个地址占了,那么会重新定位
|
关注