第十六章 插 口 I/O
本章讨论有关从网络连接上读写数据的系统调用,分三部分介绍。
第一部分介绍四个用来发送数据的系统调用:write、writev、sendto 和 sendmsg。第二部分介绍四个用来接收数据的系统调用:read、readv、recvfrom 和 recvmsg。第三部分介绍 select 系统调用,select 调用的作用是监控通用描述符和特殊描述符(插口)的状态。
本章介绍了插口的读、写和选择系统调用。
我们了解到 sosend 处理插口层与协议处理层之间的所有输出,而 soreceive 处理所有输入。
本章还介绍了发送缓存和接收缓存的组织机构,以及缓存的高、低水位标记的默认值和含义。
本章的最后一部分介绍了 select 系统调用。从这部分内容中我们了解到,当只有一个进程对描述符执行 select 调用时,协议处理层仅仅唤醒 selinfo 结构中标识的那个进程。当有多个进程对同一个描述符执行 select 操作而发生冲突时,协议层只能唤醒所有等待在该描述符上的进程。
希望我的总结可以帮助大家,感谢阅读我的博客!