添加Linux系统调用

时间:2022-06-25 16:35:33

【实验环境】
Fedora,内核2.6.21.6


【实验步骤】
1. cd /usr/src/linux
2. vi kernel/sys.c


在最后添加如下代码:


上述代码实现遍历整个任务列表,并将进程id,name 及state 打印在屏幕上,返回进程总
7
数。


3. vi arch/i386/kernel/syscall_table.S
在最后加入 .long sys_processinfo


4. vi include/asm/unistd.h
在中间添加 #define __NR_process 322 分配系统调用号
将下面改为 #define NR_syscalls 323


5. vi /usr/include/asm/unistd.h
在最后添加 #define __NR_process 322


6. 开始重新编译内核
cd /usr/src/linux
make mrproper
make menuconfig
make
make modules_install
make install
reboot


7. 进入新内核,编写测试程序test.c

8. gcc –o test test.c
9. ./test 显示结果