Linux内核编译及添加系统调用
2019-08-05 本文已影响0人
UlricaLee
1 总体设计思路
系统调用的本质是调用内核函数,以内核态运行程序。为了在内核态下运行,本实验针对Linux的内核进行修改,增加自定义系统调用函数实现用户态程序对任意进程的nice值进行修改或者读取来进行测试。
核心态程序
SYSCALL_DEFINE3(mysetnice, pid_t, pid, int, flag, int, nicevalue)
其中pid为选择进程的进程标识符;flag是操作符,设计为0时读取nice值,设计为1时进行修改操作;nice值为一返回变量,返回内核程序读取到的进程nice值;共计三个变量。
使用SYSCALL_DEFINE声明添加到~/kernel/sys.c文件中。