当前位置: 移动技术网 > 科技>操作系统>Linux > IO类型

IO类型

2019年05月08日  | 移动技术网科技  | 我要评论
我的内容来自于《马哥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)从内核内存复制到进程内存
 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网