关于Linux系统如何实现fork的研究(2)

1 /* 文件地址: linux内核目录/arch/arm/kernel/calls.S */
 2
 3 /* 0 */        CALL(sys_restart_syscall)
 4        CALL(sys_exit)
 5        CALL(sys_fork)
 6        CALL(sys_read)
 7        CALL(sys_write)
 8 /* 5 */        CALL(sys_open)
 9        CALL(sys_close)
10        CALL(sys_ni_syscall)        /* was sys_waitpid */
11        CALL(sys_creat)
12        CALL(sys_link)
13 /* 10 */    CALL(sys_unlink)
14        CALL(sys_execve)
15        CALL(sys_chdir)
16        CALL(OBSOLETE(sys_time))    /* used by libc4 */
17        CALL(sys_mknod)
18 /* 15 */    CALL(sys_chmod)
19        CALL(sys_lchown16)
20        CALL(sys_ni_syscall)        /* was sys_break */
21        CALL(sys_ni_syscall)        /* was sys_stat */
22        CALL(sys_lseek)
23 /* 20 */    CALL(sys_getpid)
24        CALL(sys_mount)
25        CALL(OBSOLETE(sys_oldumount))    /* used by libc4 */
26        CALL(sys_setuid16)
27        CALL(sys_getuid16)
28 /* 25 */    CALL(OBSOLETE(sys_stime))
29        CALL(sys_ptrace)
30        CALL(OBSOLETE(sys_alarm))    /* used by libc4 */
31        CALL(sys_ni_syscall)        /* was sys_fstat */
32        CALL(sys_pause)
33
34        ......................
35        ......................
36       
37 /* 120 */    CALL(sys_clone)        /* 120在此,之前传进来的系统调用号120进入内核后会到这 */
38        CALL(sys_setdomainname)
39        CALL(sys_newuname)
40        CALL(sys_ni_syscall)        /* modify_ldt */
41        CALL(sys_adjtimex)
42 /* 125 */    CALL(sys_mprotect)
43        CALL(sys_sigprocmask)
44        CALL(sys_ni_syscall)        /* was sys_create_module */
45        CALL(sys_init_module)
46        CALL(sys_delete_module)
47 
48        ......................
49        ......................
50       
51 /* 375 */    CALL(sys_setns)
52        CALL(sys_process_vm_readv)
53        CALL(sys_process_vm_writev)
54        CALL(sys_kcmp)
55        CALL(sys_finit_module)
56 /* 380 */    CALL(sys_sched_setattr)
57        CALL(sys_sched_getattr)
58        CALL(sys_renameat2)
59        CALL(sys_seccomp)
60        CALL(sys_getrandom)
61 /* 385 */    CALL(sys_memfd_create)
62        CALL(sys_bpf)
63 #ifndef syscalls_counted
64 .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
65 #define syscalls_counted
66 #endif
67 .rept syscalls_padding
68        CALL(sys_ni_syscall)
69 .endr

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b33989c2b19c44d30b132667ae89ee74.html