我正在尝试为/ dev / null&实现设备驱动程序C中的/ dev / zero伪设备。
首先,我想知道这两种用法有何不同?
我的计划是将这些注册为/ dev / null& / dev / zero然后在相应的write&阅读方法;总是回归成功。
以上实施是否正确?
答案 0 :(得分:4)
本文档很好地介绍了这些伪设备文件:
http://tldp.org/LDP/abs/html/zeros.html
您无法将其注册为/dev/null
和/dev/zero
,因为这些事情已经存在。除非你安排删除它们,我建议不要这样做,除非你有一些非常特殊的情况需要它,这听起来不像你那样。
/dev/zero
应该生成零,因此只需在内核中返回写入(具有用户空间读取的接口)函数就不够了。此外,/dev/null
必须能够读取()(写入),以便它可以使用数据。等等。
我刚开始重复这个链接,这是毫无意义的。检查该链接以获取预期行为的完整描述。