Linux I/O

2021-02-08  本文已影响0人  西门早柿

文件 I/O

标准 I/O

高级 I/O

网络设备为什么没有抽象成文件,而是 socket?

大部分的设备都被抽象成设备文件,主要分为两类。

epoll 为什么不能监听普通的文件描述符?

linux 中针对文件描述符的操作有一个大的操作集,但并非所有类型的文件描述符都实现了整个操作集,各个类型的文件描述符操作只实现了其中的一部分。其中有一个操作是 poll 函数,poll 用来表示这个文件描述符是否可读或者可写。只有实现了这个函数的文件描述符才可以利用 epoll 来监听,普通文件是没有实现这个接口的。
这个设计也有它的道理,普通文件与管道、socket 不同,在任何情况下都应该是可读可写的。因此实现 poll 是没有意义的。

上一篇 下一篇

猜你喜欢

热点阅读