标签:
原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
题目自拟,内容围绕对Linux内核如何装载和启动一个可执行程序
可以结合实验截图、ELF可执行文件格式、用户态的相关代码等
博客内容中需要仔细分析新可执行程序的执行起点及对应的堆栈状态等
总结部分需要阐明自己对“Linux内核装载和启动一个可执行程序”的理解
实验报告:
理解编译链接的过程和ELF可执行文件格式;
gcc -E hello.c -o hello.i
gcc –S hello.i –o hello.s
gcc –c hello.s –o hello.o
编程使用exec*库函数加载一个可执行文件,动态链接分为可执行程序装载时动态链接和运行时动态链接,编程练习动态链接库的这两种使用方式;
使用gdb跟踪分析一个execve系统调用内核处理函数sys_execve ,验证您对Linux系统加载可执行程序所需处理过程的理解,详细内容参考本周第三节;
特别关注新的可执行程序是从哪里开始执行的?为什么execve系统调用返回后新的可执行程序能顺利执行?对于静态链接的可执行程序和动态链接的可执行程序execve系统调用返回时会有什么不同?
标签:
原文地址:http://www.cnblogs.com/ailx10/p/5373424.html