-------------------------------------------------------------------------
刘旸 + 原创作品转载请注明出处
《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
-------------------------------------------------------------------------
基础知识:
1. 可执行程序是怎么得来的:
2. 目标文件的格式ELF
三种:可重定位目标文件、共享目标文件、可执行目标文件
一个可重定位文件保存着代码和适当的数据,用来和其他的object文件一起来创建一个可执行文件或者是一个共享文件。
一个可执行文件保存着一个用来执行的程序;该文件指出了exec(BA_OS)如何来创建程序进程映象。
一个共享object文件保存着代码和合适的数据,用来被下面的两个链接器链接。第一个是连接编辑器[请参看ld(SD_CMD)],可以和其他的可重定位和共享object文件来创建其他的object。第二个是动态链接器,联合一个可执行文件和其他的共享object文件来创建一个进程映象。
3.

这篇博客详细介绍了Linux内核中的execve系统调用如何装载可执行程序,包括可执行文件格式ELF、装载过程、动态链接等。通过实验验证了execve如何将新程序加载到当前进程,以及动态链接器ld的角色。分析了sys_execve的执行流程,并用gdb进行调试,展示了start_thread如何修改CPU控制权,使得新程序从正确入口开始执行。
最低0.47元/天 解锁文章
2458

被折叠的 条评论
为什么被折叠?



