ELF的链接视图&执行视图 - 虚拟地址的计算规则 (第六章 可执行文件的装载与进程 - 读书笔记) 置顶!
这一章笔记主要是是讨论和说明ELF执行文件中的虚拟地址是怎么计算出来.以及是怎么安排地址空间的.
摘要
简单的说在类Linux环境下,所有的ELF文件的加载都主要是为了节省物理内存. 体现在
- 减少页对齐所产生的页内内存的浪费.
- 可能存在的共享对象.(如windows下面的dll,和Linux下的so)
下面我们就来看看Linux下的静态链接的ELF文件的加载逻辑.
备注: 这里把文件尽量简单的静态链接.减少ELF文件的内容复杂性,让我们更聚焦到我们关心的问题上. 另外对于程序载入的其它如覆盖载入方式我们也不进行表述. 我们只聚焦到Linux的ELF可执行文件的结构与装载上.
源码准备
github地址: