• IO类型


    我的内容来自于《马哥Linux2016最新高薪运维视频课程-Nginx应用基础及配置详解》
    httpd:MPM
    prefork,worker,event
    prefork:主进程,生成多个子进程,每个子进程处理一个请求;
    worker:主进程,生成多个子进程,每个子进程再生成多个线程,每个线程响应一个请求
    event:主进程,生成多个子进程,每个子进程响应多个请求
     
    I/O类型:
    同步I/O和异步I/O:synchronous,asynchronous
    关注的是被调用者的消息通知机制
    同步I/O:调用发出之后结果不会立即返回,但一旦返回,则返回既是最终结果
    异步I/O:调用发出之后,被调用方立即返回消息,但返回的并不是最终结果;被调用方完成任务后会通过状态、通知机制等来通知调用者,或者通过回调函数来处理结果
     
    阻塞I/O和非阻塞I/O:block,nonblock
    关注的是调用者等待被调用者返回调用结果时的状态
    阻塞:调用结果返回之前,调用者会被挂起,调用者只有在得到返回结果之后才能继续
    非阻塞:调用者在结果返回之前,不会被挂起,即调用不会阻塞调用者
     
    I/O模型:
    blocking I/O:阻塞式I/O
    nonblocking I/O:非阻塞式I/O
    I/O multiplexing:复用型I/O 阻塞型,是阻塞在内核的代理上;当在内核代理上阻塞时,其调用者是没有阻塞的,可以发送请求
    signal driven I/0:事件驱动式I/O 一个进程可以对应多个请求
    asynchronous I/O:异步I/O 性能得到了极大提高
     
    例如:在磁盘上做一次read操作
    一个进程向磁盘发起一次请求后,会先通知内核,内核再把磁盘的数据加载到内核内存,再从内核内存把数据拷贝一份到进程内存中;真正执行I/O过程的阶段为内核把数据拷贝给进程内存的操作
    (1)等待数据准备好,从磁盘到内核内存
    (2)从内核内存复制到进程内存
     
  • 相关阅读:
    百度面试题
    京东2014年招聘会成都站笔试经历
    把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
    POJ 2234 Matches Game
    POJ 3903 Stock Exchange
    POJ 2853 Sequence Sum Possibilities
    POJ 3519 Minimal Backgammon
    POJ 2096 Collecting Bugs
    POJ 3071 Football
    HDU 1175 连连看
  • 原文地址:https://www.cnblogs.com/jianchen013/p/10819694.html
Copyright © 2020-2023  润新知