大家好:
我最近在看有关LINUX网络方面的书,对一些概念非常乱,不好理解,希望能帮我解惑,非常感谢!
书中说对串行端口的访问是通过/dev下的设备文件完成的,然后又说系统定义了一个抽象的接口,所有对设备访问都是通过接口来实现的,这两句话单独理解都没问题,但是放在一起就乱了,能不能帮忙解释一下?
非常感谢!
大家好:
我最近在看有关LINUX网络方面的书,对一些概念非常乱,不好理解,希望能帮我解惑,非常感谢!
书中说对串行端口的访问是通过/dev下的设备文件完成的,然后又说系统定义了一个抽象的接口,所有对设备访问都是通过接口来实现的,这两句话单独理解都没问题,但是放在一起就乱了,能不能帮忙解释一下?
非常感谢!
7 回答5.4k 阅读
4 回答4.1k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
2 回答837 阅读✓ 已解决
2 回答3.3k 阅读
1.对串行端口的访问是通过/dev下的设备文件完成的。-->一切皆文件,不管是socket,还是其他设备或是文件,所有操作都统一了,这个你应该已经理解了。
2.所有对设备访问都是通过接口来实现的.-->此处说的接口就是
open read write
等函数。内核大牛们写的c都是类似面向对象的。linus之前喷c++的时候就说过,面向对象c语言也可以做。其实这些接口都是指针,在不同类型的设备初始化时,赋了不同的回调。这两句其实不冲突,也就是有了第二点的处理,才能做到第二点的一切皆文件。