Linux系统下init进程的前世今生 - muyu01248/log GitHub Wiki

Linux系统下init进程的前世今生- 内核源码-ChinaUnix.net bbs.chinaunix.net/thread-3685404-1-1.html 内核执行用户程序 {1.call_usermodehelper 2.kernel_execve()} int 0x80 sys_execve():[cs:__kernel_cs:__user_cs]

init/main.c: start_kernel() reset_init() kernel_thread() kernel_init() init_post() run_init_process(<"sbin/init" ...>) kernel_execve() /sbin/init::elf_entry ...

kernel_execue() int 0x80:[ptregs_execve //__NR_execve] ENTRY(sys_call) ENTRY(sys_call_table) ptregs_execve:[sys_execve()] do_execute() do_execute_common() binary_handler() binary_elf_handler() start_thread()[设置寄存器等信息:(ip,cs...)] 返回到用户空间 /sbin/init::elf_entry()