之前我们有讲解过IO复用函数中epoll系列系统调用:
《Linux网络编程 | IO复用 : epoll系列系统调用详解》
本文基于 Linux Kernel 2.6.11 分析IO复用函数 epoll 的内核实现过程。
详细分析了其中涉及到了四个重要的数据结构:struct eventpoll、struct epitem、struct epoll_event 和 struct eppoll_entry。
对epoll 内核实现机制做以简单的框架概述,并分析各个函数的执行流程。接着详细讲解了epoll 内核实现过程,对eventpoll_init()、sys_epoll_create()、sys_epoll_ctl()、sys_epoll_wait()四个核心系统调用进行了全面而深入的剖析。
文章目录
epoll 概述
epoll 是 Linux 内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本。它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。</