请教下,如何实现用户空间与内核的同步?

最近做项目,要实现内核与用户空间的同步,这里的同步指的是:用户程序执行一些功能,然后请求内核执行一些功能,然后内核返回到用户发起请求的代码处继续执行下面的功能。很明显,系统调用是可以完成的,但是客户不希望通过系统调用来实现。
查了很多资料,发现ioctl也是可以的,因为它和系统调用差不多,而且还要再注册一个设备,通过设备的ioctl来完成用户的请求(不知道理解的对不对)。后来,有看到netlink可以很好的实现用户空间程序和内核的交互,但是发现netlink是非阻塞的,要实现同步必须增加很多while来实现等待。

     最后,现在的问题是:
     (1) netlink 支不支持阻塞的接收 ?
     (2) 还有没有其他的方法实现用户空间程序和内核的同步 ?
     

恳求大家指教!

作者: liujunwei1234   发布时间: 2011-01-12

这个帖子看着眼熟啊

作者: Godbach   发布时间: 2011-01-12

其实你想了解的应该是内核和用户空间通信的机制有哪些吧

作者: Godbach   发布时间: 2011-01-12