Linux 用户态与内核态的交互――netlink 篇

时间:2012-11-05 16:31:28
【文件属性】:

文件名称:Linux 用户态与内核态的交互――netlink 篇

文件大小:77KB

文件格式:DOC

更新时间:2012-11-05 16:31:28

Linux 用户态 内核态 netlink

• 在 Linux 2.4 版以后版本的内核中,几乎全部的中断过程与用户态进程的通信都是使用 netlink 套接字实现的,例如iprote2网络管理工具,它与内核的交互就全部使用了netlink,著名的内核包过滤框架Netfilter在与用户空间的通读,也在最新版本中改变为netlink,无疑,它将是Linux用户态与内核态交流的主要方法之一。它的通信依据是一个对应于进程的标识,一般定为该进程的 ID。当通信的一端处于中断过程时,该标识为 0。当使用 netlink 套接字进行通信,通信的双方都是用户态进程,则使用方法类似于消息队列。但通信双方有一端是中断过程,使用方法则不同。netlink 套接字的最大特点是对中断过程的支持,它在内核空间接收用户空间数据时不再需要用户自行启动一个内核线程,而是通过另一个软中断调用用户事先指定的接收函数


网友评论

  • 很好的资料,通过它可以了解用户空间的应用程序是怎样和内核驱动通讯的。