第五周
阅读学习教材「庖丁解牛Linux 分析 」第5章,有问题优先使用chatgpt等AI工具。或者到蓝墨云班课中提问,24小时内回复,鼓励解答别人问题,提问前请阅读「如何提问」。
教材深入学习关注豆列「Linux内核及安全」。
学习蓝墨云班课中第五周视频「扒开系统调用的三层皮?(上)」,并完成实验楼上配套实验四。,注意从下往上看。基于树莓派或其他平台完成ARM相关内容。
在本周日晚12:00前发学习博客(标题 学号《Linux内核原理与分析》第五周作业),重点是遇到的问题和解决方案内容涵盖教材学习和视频,格式用Markdown。不按时交作业会扣分。
系统调用列表如下(只截取了前20个)
#32-bit system call numbers and entry vectors
0 i386 restart_syscall sys_restart_syscall
1 i386 exit sys_exit
2 i386 fork sys_fork stub32_fork
3 i386 read sys_read
4 i386 write sys_write
5 i386 open sys_open compat_sys_open
6 i386 close sys_close
7 i386 waitpid sys_waitpid sys32_waitpid
8 i386 creat sys_creat
9 i386 link sys_link
10 i386 unlink sys_unlink
11 i386 execve sys_execve stub32_execve
12 i386 chdir sys_chdir
13 i386 time sys_time compat_sys_time
14 i386 mknod sys_mknod
15 i386 chmod sys_chmod
16 i386 lchown sys_lchown16
17 i386 break
18 i386 oldstat sys_stat
19 i386 lseek sys_lseek compat_sys_lseek
20 i386 getpid sys_getpid
选择上述最后一个系统调用 getpid
getpid用于获取当前进程的进程号。
使用C调用如下:
#include