zoukankan      html  css  js  c++  java
  • HTTP 并发响应模型

    httpd: MPM 并发响应模型
    prefork(select 1024个并发), worker, event

    1、穿行响应模型

    2、多进程模型,主控进程负责接收链接(监听端口),主控进程fork一个子进程进行通信,子进程占用一个句柄。启动的子进程数量有限,fork的进程需要预先提供好,所以叫prefork。

    3、worker模型,线程模型响应,主控进程fork一个子进程(可以由多个自己进程),子进程内部有多个线程去响应链接。 

    4、event,事件驱动模型,

    I/O模型

    1、同步 synchronous  一个任务的完成需要依赖于另一个任务时,需要被依赖的任务完成,依赖的才能完成。可靠的任务序列,两个任务可以保持一致,要么都完成要么都失败。

       异步:asyncrhonous  调用者无须等待被调用者,只是通知被依赖者,依赖着还会继续执行后面的任务,无须等待被依赖着任务进度。

     

      两者的消息通知机制不同,被调用者响应的方法有两种:

        同步:等待对方返回消息,

        异步:被调用者通过状态、通知或者回调机制,让调用者得到结果。

          状态:通过轮询来查看状态。盲等。

          通知:被条用者完成后会通知调用者完成。

          回调:外表和通知差不多。

      

      调用结果返回之前,调用者的状态有两种:

        阻塞:block :调用结果返回之前,调用者挂起。

        非阻塞:nonblock: 调用结果返回之前,调用者不会被挂起。

      I/O类型:

        网络IO:本质是socket读取:

        磁盘IO:流

        

        每次IO都经由两个阶段:

          第一步:数据先加载至内核内存空间,可以是阻塞或者非阻塞

          第二步:数据从内核缓冲区复制到用户空间的进程内存中去;这个步骤一定是阻塞的

        数据复制两个阶段  

          等待数据准备完成

          数据内核复制到进程

      

       I/O模型:

        同步阻塞:阶段一,阶段二都挂起

        同步非阻塞:阶段一盲等,阶段二挂起

           I/O 复用: 第一阶段阻塞在io复用,第二阶段阻塞在内核。select机制最多1024个并发,poll

        信号驱动IO:第一阶段解脱出来,第二阶段阻塞

        异步IO:阶段一,阶段二都飞阻塞

  • 相关阅读:
    2019 NJCTF WarmUp
    家用路由器渗透过程总结
    IOT 安全资料整合(主要是路由器)
    由一道工控路由器固件逆向题目看命令执行漏洞
    路由器漏洞挖掘之 DIR-850/645 命令执行漏洞复现
    路由器漏洞挖掘之 DIR-815 栈溢出漏洞分析
    从外网到内网的渗透姿势分享
    ESP8266 显示实时天气信息
    静态链接学习之 ELF 文件 DIY
    ROP-Tamu CTF 2018-pwn5
  • 原文地址:https://www.cnblogs.com/Nvax/p/7571503.html
Copyright © 2011-2022 走看看