Linux 2.6.23将使用用户空间驱动程序API
来源:互联网 发布:安卓 node.js 编辑:程序博客网 时间:2024/05/21 07:55
The stable driver API was already announced a year ago by Greg Kroah-Hartman. Now the last patches where uploaded and the API was included in Linus’ tree. The idea of the API is to make life easier for driver developers:
This interface allows the ability to write the majority of a driver in userspace with only a very small shell of a driver in the kernel itself. It uses a char device and sysfs to interact with a userspace process to process interrupts and control memory accesses.
Since future drivers using this API will run mainly in userspace there is no need to open up the source code for these parts. Also, drivers can be re-used even after kernel changes because the API will remain stable.
The background motivation for the inclusion of such a stable API comes form the embedded world: there embedded drivers are often closed source and just developed for a single kernel version and are not maintained over time. Using the new API these drivers could be used for a longer time.
And in fact such an API has already been developed by people from the embedded industry to make their life easier. But it was just developed for a single device and not as a generic interface. Such developments are now unnecessary.
However, DMA transfer between userspace and kernelspace is not yet implemented. This means essentially that drivers which involve high traffic are not an option yet. So graphic drivers as well as file system drivers and similar cannot use this API at the moment.
Some people might ask now why not simply allow closed source kernel drivers directly in the kernel, since they are allowed in userspace now anyway. But there is a huge difference between these two types of drivers - while userspace drivers can be controlled in a certain way and cannot trash the kernel kernelspace drivers could do that. A quite good explanation about the topic can be read at LWN.
The other way around one could ask if this will mean the end for Linux (for example according to the LWN article). But again, kernelspace and userspace is very different - an d with the new API the important part (the kernelaspace part) still has to be Open Source! Besides, this API does not introduce anything which was not possible before: as already mentioned such an API was already developed quite some time ago, and was actively used.
But I must also admit that while I see the need for such an API I still prefer hardware vendors who simply make the drivers Open Source and bring them upstream.
- Linux 2.6.23将使用用户空间驱动程序API
- 编写Linux用户空间驱动程序
- 编写Linux用户空间驱动程序
- 用户空间的驱动程序
- linux 用户空间调用kernel 的api
- Linux下将物理地址映射到用户空间
- 用户空间编写S3c2440 lcd的驱动程序
- 在用户空间中编写驱动程序
- 用户空间使用i2c_dev
- 用户空间使用i2c_dev
- 用户空间使用i2c_dev
- 用户空间使用i2c_dev .
- 用户空间使用i2c_dev
- 用户空间使用i2c_dev
- 用户空间使用i2c_dev
- 用户空间使用Linux 数据结构系列导读篇
- 用户空间使用Linux数据结构系列之红黑树(1)
- 用户空间使用Linux数据结构之红黑树(2)
- 判断是否相等用is而不是"="以及null的使用注意事项
- 连接SQL数据库的函数
- 傅里叶级数00
- 恰同学少年
- 资料——基于关系结构的轻量级工作流引擎(中国科学院计算机技术研究所)
- Linux 2.6.23将使用用户空间驱动程序API
- 分页函数
- 实现VLAN的机制
- 名牌大学计算机硕士的困惑
- 飘动的椭圆
- 老调调,关于我的数据库总是丢日志文件
- 单一登录 Web 应用程序的企业级安全系统
- 园与线的拖动01
- NOTESITEM 下拉列表中的值修改和删除办法