专栏名称: 易安说AI
分享业务架构、技术架构、系统设计方案,以及微服务架构源码,提供业务场景答疑
今天看啥  ›  专栏  ›  易安说AI

【第15期】谈一谈 UNIX 中的 I/O 模型

易安说AI  · 公众号  ·  · 2024-09-23 08:00
    

文章预览

前言    上一篇《 谈一谈 UNIX 中的 TCP 网络编程 》 我们谈到了 UNIX 中的 Socket 编程的相关内容。本篇我们谈一谈 UNIX 中的I/O 模型,在服务器网络编程中,经常会涉及到进程/线程与文件(Socket)之间的读写交互,I/O模型则描述与总结了这种读写的交互方式。   对于一次 I/O 操作,如 recv / recvfrom ,数据会先进入内核缓冲区中,然后才会从内核缓冲区拷贝到用户缓冲区。所以说,当一个 recv / recvfrom 操作发生时,它会经历两个阶段: 第一步,等待内核缓冲区中有数据到来; 第二步,将内核缓冲区中的数据拷贝到用户缓冲区。 正是因为这两个阶段,UNIX 产生了如下五种 I/O 模型的实现方案: 阻塞式 I/O 非阻塞式 I/O I/O 多路复用 信号驱动 I/O (SIGIO) 异步 I/O 0. 阻塞式与非阻塞式 I/O 的表现   阻塞式 I/O是最常用的 I/O 模型,而且 socket 系统调用创 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览