其他分享
首页 > 其他分享> > 编写新系统调用时可用的功能

编写新系统调用时可用的功能

作者:互联网

对于大学任务,我们必须向Linux内核添加系统调用.我有“你好,世界”没问题.就添加一个更复杂的调用而言,我知道(或至少认为)我不能使用像malloc这样的C函数,但是我想知道我可以使用syscall()来使用其他系统调用吗?

解决方法:

内核对几乎所有内容都有自己的特定调用.您无权访问系统调用或< sys / xxxx.h>头文件.

对于您的实例,是的,您不能使用malloc()但可以使用kmalloc()

在较早版本的内核(2.4)中,可以通过以下方式使用syscall():syscallN()宏.我很确定已将其删除.

通常,从内核来的syscalls()不是一个好主意.真正的系统调用只是进入内核以执行某项操作的用户空间的一种方式,因此,如果您已经进入内核,则应该有一种更好的方法来完成您要尝试做的事情.

标签:system-calls,kernel,linux-kernel,c-3,linux
来源: https://codeday.me/bug/20191127/2074160.html