精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品开源心得,转载请注明:“锐英源www.wisestudy.cn,孙老师作品,电话13803810136。”需要全文内容也请联系孙老师。
在(x86)Linux内核里2.6.12下,有289个系统调用,2.4.27版本有252个;数字在逐渐增加。在2.2内核里,这个数字是190;在2.0它少了30个。在别的CPU架构下,数字也会相当不同。注意精确的数字依赖于内核版本数字的小版本号。
有些调用已经不实现了(旧版本遗存),但是依然占用了空间。对这些函数进行调用会返回错误ENOSYS。
在/usr/include/asm/unistd.h里列出了下列函数。这个头文件包含有:
#define __NR_exit 1 #define __NR_fork 2 #define __NR_read 3 #define __NR_write 4 #define __NR_open 5 #define __NR_close 6 #define __NR_wiaitpid 7 #define __NR_creat 8 #define __NR_link 9 #define __NR_unlink 10内核级的函数通常有sys_这样的前缀,后面跟随用户级函数名称。