网络I/O模型

  1. 系统内核创建一颗红黑树用于保存需要监听的文件描述符
  2. 使用mmap开辟一块在内核态和用户态中间的内存用于传递文件描述符,
  3. 每个文件描述符在插入树的时候就已经注册一个回掉函数,当设备检测到该文件描述符上有事件发生的时候,通过该回掉函数返回,并将该描述符插入到系统准备好的就绪链表当中,而epoll_wait只需要检测链表中是否有数据即可。
Yan Peipan 13 September 2018