对于大学任务,我们必须添加一个系统调用到Linux内核。 我有“你好,世界”没有问题。 在添加一个更复杂的调用方面,我知道(或者至less想)我不能像malloc一样使用C函数,但是我想知道是否可以使用syscall()来使用其他系统调用?
内核有几乎所有的具体要求。 您无权访问系统调用或<sys/xxxx.h>
头文件。
对于你的例子,是的,你不能使用malloc()
但你可以使用kmalloc()
在旧版本的内核(2.4)中,可以使用syscall()
通过: syscallN()
宏。 我很确定这已被删除。
通常,来自内核的syscalls()
不是一个好主意。 真正的系统调用只是用户空间进入内核做某事的一种方式,所以如果你已经在内核中,应该有一个更好的方法去做你正在做的事情。