可执行文件

机器码

  1. 地址以字节编码表示:1 Byte = 8 bits
  2. 常以16进制表示:0x3c = 0011 1100

程序运行

虚拟内存

  1. 虚拟内存用户空间每个进程一份
  2. 虚拟内存内核空间所有进程共享一份
  3. 虚拟内存mmap段中的动态链接库仅在物理内存中装载一份

段(segment)与节(section)

  1. 一个段包括多个节
  2. 段视图用于进程的内存区域的rwx权限划分
  3. 节视图用于ELF文件编译链接时 与 在磁盘上存储时的文件结构的组织
  • 代码段(Text Segment)包含了代码与只读数据
    • .text节
    • .plt节
  • 数据段(Data Segment)包含了可读可写数据
    • .got.plt节
    • .bss节
  • 栈段(Stack Segment)