理解epoll()的实现.pdfVIP

  • 5
  • 0
  • 约5.39千字
  • 约 5页
  • 2017-09-04 发布于重庆
  • 举报
理解epoll()的实现 看官兄弟姐妹们,你们都点过“理解epoll()的实现”的标题了,我想就不用再说epoll()如果使用的废话云 云了。直接进入正题吧: epoll_create() 系统调用 首先,我们注意epoll_create()返回的是一个文件描述符,这是epoll()与select()/poll()族系 统调用的一点显著不同。有文件描述符就一定有对应的文件系统,这个特殊文件系统,在RHEL5.4 内核 (主要基于2.6.18,混合了部分2.6.2x 的代码)里叫eventpollfs。不过,这个用来借壳“充数”的文件 系统在更新的内核里已经看不到了,因为新内核(至少2.6.32 以后是没有了)提供了更轻量级的方法实现 “借壳”。 “借壳”本身与epoll()的核心逻辑关系不大,我们略过不表。无论有没有这个特殊文件系统,这个打 开文件的对应的file_operations 都实现了两个方法:一个是release ,一个poll。前一个我不用介绍 了,从名字上猜含义不难。后一个就比较有趣了,这意味着epoll_create()返回文件描述符本身也是可以 select()/poll()/epoll()的,我们可以复合epoll ! epoll_crea

文档评论(0)

1亿VIP精品文档

相关文档