扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
让我们看一下另一个write(2)例程并看看它是如何进行预处理的。
#9 "no2.c" 2 注意那个write()里的"0"这个参数匹配SYS_write,在/usr/include/sys/syscall.h中定义。 * 构建你自己的系统调用。 这里给出了几个构建你自己的系统调用的方法。举个例子, 你可以修改内核代码并且加入你自己的代码。一个比较简单可行的方法, 不过, 一定要被写成可加载内核模块。 没有一个代码可以象可加载内核模块那样可以当内核需要的时候被随时加载的。 我们的主要意图是需要一个很小的内核,当我们需要的时候运行insmod命令,给定的驱动就可以被自动加载。这样卸除来的lkm程序一定比在内核代码树里写代码要简单易行多了。 * 写lkm程序 一个lkm程序可以用c来很容易编写出来。它包含了大量的 #defines, 一些函数, 一个初始化模块的函数,叫做init_module(),和一个卸载函数:cleanup_module()。 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者