为用户空间客户端实施API的最佳方法

时间:2015-07-30 04:25:44

标签: sockets system-calls

我需要开发一个用户空间客户端可以调用的接口来访问我已经实现的内核方法。我知道以下两种方法的优点/缺点是实现这一点。

  1. 介绍系统调用
    • 优点:简单,对于不同的内核方法,可以传递不同的参数。
    • 缺点:任何副作用?
  2. 介绍一个新的套接字系列并使用IOCTL命令
    • 优点:无需API解释。大家都知道如何使用套接字
    • 缺点:实施耗时。
  3. 这两种方法还有其他优点/缺点可以用来决定其中一种吗?

1 个答案:

答案 0 :(得分:0)

编写一个导出好旧函数的用户模式库,然后以任何方式在库中实现用户/内核接口。但直接内核接口不公开是非常重要。最终用户支持将是一场噩梦。

我更喜欢IOCTL调用设备驱动程序。非常灵活,开销很小。但不是用户友好的。