Sockets 为用户空间客户端实现API的最佳方法
我需要开发一个界面,用户空间客户端可以调用该界面来访问我已经实现的内核方法。我知道以下两种方法及其实现这一目标的优缺点Sockets 为用户空间客户端实现API的最佳方法,sockets,system-calls,Sockets,System Calls,我需要开发一个界面,用户空间客户端可以调用该界面来访问我已经实现的内核方法。我知道以下两种方法及其实现这一目标的优缺点 引入系统调用 优点:很简单,对于不同的内核方法,可以传递不同的参数 缺点:有副作用吗 引入一个新的套接字系列并使用IOCTL命令 优点:不需要API解释。每个人都知道如何使用插座 缺点:实施起来很耗时 这两种方法是否还有其他优点/缺点可以权衡以决定其中一种?编写一个用户模式库,导出好的旧函数,然后在库中以任何方式实现用户/内核界面。但是直接内核接口不公开是非常重要的。最
- 优点:很简单,对于不同的内核方法,可以传递不同的参数
- 缺点:有副作用吗
- 优点:不需要API解释。每个人都知道如何使用插座
- 缺点:实施起来很耗时
这两种方法是否还有其他优点/缺点可以权衡以决定其中一种?编写一个用户模式库,导出好的旧函数,然后在库中以任何方式实现用户/内核界面。但是直接内核接口不公开是非常重要的。最终用户支持将是一场噩梦
我更喜欢对设备驱动程序进行IOCTL调用。非常灵活,开销非常小。但是不是用户友好的。编写一个用户模式库,导出好的旧函数,然后在库中以任何方式实现用户/内核界面。但是直接内核接口不公开是非常重要的。最终用户支持将是一场噩梦 我更喜欢对设备驱动程序进行IOCTL调用。非常灵活,开销非常小。但不是用户友好的