zoukankan      html  css  js  c++  java
  • nginx之epoll模型的详细介绍

    首先我们一个问题一个问题讲解,由浅入深的去探索epool

    1、什么是IO复用?

        

      IO流请求操作系统内核,有串行处理和并行处理的两种概念;串行处理,前面一个处理,后面的所有的需要等

    待,所以这是必需考虑并行处理的方式来完成整个IO流的请求,实现最大的并发和吞吐;这里就用到了IO复用技术,

    IO复用技术就是让一个Socket来做复用完成整个IO流的请求,当然实现IO流的请求,其中一种方式就是多线程,但

    是多线程会占用大量资源,不便于管理,从而出现IO多路复用

    2、什么是IO多路复用?

      IO多路复用是指多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这里的“复用”指的是复用同一个

    线程;对操作系统内核而言多路复用其实是要完成操作系统IO的请求,对于IO文件的请求,我们当一个IO流要进行

    对应的文件处理的时候,要获取一组文件的描述符,当文件描述符还没就绪时,它就一直在等待,直到描述符一旦

    就绪,它就马上上报系统的一个通知的机制告诉主应用程序,我已经准备就绪了,你可以来操作了这种方式就是IO

    复用方式。

    3、什么是epoll?

      IO多路复用的实现方式select 、 poll 、 epoll , 都是liunx内核下的常见多路复用模型最早出现的是select模型

    4、什么是select?

      多路复用其实就是内核态对IO请求的时候,主动的会发送所需要处理的文件对象就绪时的文件就绪信息给应

    用端,应用端在FD没有就绪之前都是Block,也就是阻塞住对应的Socket请求,也会维护一个FD的列表;当内核

    态发送可用的信号,FD就绪以后,应用端采用select这种模式,会一直在遍历所维护的FD文件描述符的列表,以

    等到对应的唤醒对应的进程完成对应的数据拷贝;在整个过程中select采用的是线性遍历的模式,这种模式效率

    低下,

      

    5、Select缺点及epoll优点

    Select缺点:

      1) 、能够监视文件描述符的数量存在最大限制

      2) 、线性扫描效率低下

    epoll优点:

      epoll则优化,完善了select模式的缺点,每当FD就绪,采用系统的回调函数直接将FD放入,效率高,无监视文件描述符的数量限制。

  • 相关阅读:
    kvm虚拟化
    kvm虚拟机管理
    认识佛教
    【书籍推荐】《自我观察:第四道入门手册》爱自己
    [推荐] 自我观察的四个基本原则
    只要你真会念,念到不起心、不动念、不分别、不执着,六根接触六尘境界就是修行
    胡小林老师最新答问(全两集)2017年3月9日发布
    蔡礼旭老师:如何经营幸福生活(武汉万人论坛)
    新视频】蔡礼旭老师:学圣贤教诲 改人生命运(2013年北京论坛)附下载
    【论坛先河,载入史册】陈大惠、钟茂森、胡小林、蔡礼旭、彭鑫老师同台答问(全三集)
  • 原文地址:https://www.cnblogs.com/wangchengb/p/8995704.html
Copyright © 2011-2022 走看看