How the Linux kernel loads and launches an executable program
Grasping Writer: Samantha No.: 20132119
(* Original works reproduced please specify the source *)
(Learning course: Linux kernel Analysis MOOC course http://mooc.study.163.com/course/USTC-100)
Knowledge Summary:
Experimental requirements:
Understand the process of compiling links and the Elf executable format, and refer to the first section of this week for more information;
Programming uses the exec* library function to load an executable file, dynamic link is divided into executables when loading dynamic link and runtime dynamic link, programming exercises dynamic link Library of these two ways of use, the details refer to the second section of this week;
Use GDB trace to analyze a EXECVE system call kernel handler function Sys_execve, verify your understanding of the process required to load the executable program of Linux system, the details refer to the third section of this week, the recommendation is to complete the experiment in the lab Building Linux virtual Machine environment.
Paying particular attention to where the new executable program starts? Why does the new executable program execute smoothly after the EXECVE system call returns? What is the difference between a static-linked executable program and a dynamically-linked executable EXECVE system call return?
Experimental process:
How the Linux kernel loads and launches an executable program