exec系列函数如何在内部工作?

时间:2016-08-29 14:47:38

标签: linux linux-kernel exec elf execv

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

1 个答案:

答案 0 :(得分:4)

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

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

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

这是你在问什么?