【问题标题】:Best approach to implement API for user space clients为用户空间客户端实现 API 的最佳方法
【发布时间】:2015-10-21 07:15:09
【问题描述】:

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

  1. 引入系统调用
    • 优点:简单,对于不同的内核方法,可以传递不同的参数。
    • 缺点:有副作用吗?
  2. 引入新的socket系列并使用IOCTL命令
    • 优点:不需要 API 解释。每个人都知道如何使用套接字
    • 缺点:实施起来很耗时。

这两种方法是否还有其他优点/缺点可以权衡来决定其中一种?

【问题讨论】:

    标签: sockets system-calls


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多