您现在的位置: 万盛学电脑网 >> 操作系统 >> Linux教程 >> 正文

Linux--Linux内核模块编程指南(一)在线阅读

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 多内核版本源文件
  内核展现给进程的主要界面是系统调用,它通常跨版本保持相同。新的系统调用被加入,但通常老的保持和原来严格的一样。这对于向后兼容性是必要的--新的内核版本不应打破常规的进程。在大多情况下,设备文件也将保持相同。另一方面,和内核内部的接口可以并且在版本之间有改变。
  Linux内核版本分为稳定版 (n.<偶数>.m) 和开发版 (n.<奇数>.m).开发版包含所有的好的新思想,包括那些被认为是错误或需要在下一版重新实现的东西。结果,你不能期盼在那些版本中界面保持相同(这也是我为什么不在这本书中操心去支持它的原因,那需要太多的工作并且很快就过时了)。另一方面,在稳定版中我们可以期盼界面保持相同,除了错误修订版(数字m)。
  这个版本的内核模块编程指南包括对 2.0.x 和2.2.x 内核版本的支持。既然这两个版本间有差异,这就需要根据版本进行条件编译。可以使用宏 LINUX_VERSION_CODE来做这件事。在 a.b.c 版的内核中,这个宏的值是 216a+28b+c。为了 得到某个内核版本的值,我们可以使用 KERNEL_VERSION 宏. 因为在 2.0.35版中没有定义它, 我们可以在必要的时候自己定义它。