【问题标题】:How does exec family of functions work internally? [duplicate]exec 系列函数如何在内部工作? [复制]
【发布时间】:2017-01-05 15:39:06
【问题描述】:

execv() 系列函数是否在内部调用 mmap() 函数来从 elf 文件中加载文本、数据、bss 段?任何人都可以分享 exec() 函数的工作所涉及的块或步骤。另外请推荐一些链接或书籍,以了解 exec 内部的工作原理。

【问题讨论】:

标签: linux linux-kernel exec elf execv


【解决方案1】:

execv() 是一个用户空间 libc 包装器,它通过系统调用将控制权传递到内核端到 do_execve()

do_execve() 为要加载的 exec 文件找到合适的 binary handler。接下来我们将考虑 ELF 可执行格式的示例。

elf 格式的适当二进制处理程序是 load_elf_binary() 。它使用elf_map() 通过 vm_mmap() API 将适当的 elf 段映射到内存。

你问的是这个吗?

【讨论】:

  • 是的,这就是我想要的,我可以使用这些信息来获得详细的概述。谢谢亚历克斯
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 2011-05-07
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 2020-05-07
  • 2020-06-21
相关资源
最近更新 更多