【发布时间】:2022-01-18 13:43:52
【问题描述】:
我想知道在 Posix/Unix 中哪些对象类型被实现为文件描述符。
我找不到列表,所以我查看了手册页中对 close() 和 select() 的引用(因为它们应该适用于所有 fd 类型)。
我找到的对象类型:
-
文件
-
套接字
-
消息队列
On Linux, a message queue descriptor is actually a file descriptor. (POSIX does not require such an implementation.) -
管道
-
共享内存
还有更多吗?是否有 fd 版本的 pthreads 同步对象(信号量、互斥量、条件)?有清单吗?
【问题讨论】:
-
每个供应商都可以免费使用文件接口来满足需要。 Linux 还提供了一个带有文件描述符的计时器。这个想法是使用
select在基于事件的循环中与其他 IO 一起使用。每个操作系统用户也可以根据文件描述符编写驱动程序..
标签: linux unix posix file-descriptor