又是查找资料,又是看源码,折腾了大半天,终于把fork的过程弄完了,但是后面的跟踪状态还不太懂,等具体后面弄清楚了,再加上。
内核是2.6.11版本的。
fork()系统调用:
我们运行一个系统调用时,系统将调用宏指令_syscall0
#define _syscall0(type,name) \
type name(void) \
{ \
register long __a __asm__ ("r10"); \
register long __n_ __asm__ ("r9") = (__NR_##name); \
__asm__ __volatile__ (".ifnc %0%1,$r10$r9\n\t" \
".err\n\t" \
".endif\n\t" \