美文网首页
IO模型的介绍

IO模型的介绍

作者: 麟之趾a | 来源:发表于2020-04-16 23:21 被阅读0次

概念介绍

同步

一个进程在等待另一个进程返回结果,如果另一个进程不返回,这个进程会一直等待,同步只是个状态

异步

一个进程在等待另一个进程返回结果时,如果另一进程不返回结果,这个进程就会往下走,给另一个进程,一个标记,当另一个进程返回结果时,可以通过这个标记找到当前进程。

阻赛

一个进程等待另一个进程返回结果时,这个进程就会进入休眠状态。当结果返回时,这个进程就会唤醒

非阻赛

一个进程等待另一个进程返回结果时,这个进程会一直询问,另一个进程,你好了没有?所以这个进程会一直处于忙碌状态

注:以上只是概念,并不是真正的IO模型

模型介绍

前提准备

复制文件过程的进程

1 .进程从磁盘读出文件
2 .文件从内核内存,复制到用户内存

阻赛型

image.png

用户进程,在第一步从磁盘读取文件的过程,用户进程就休眠了,等待返回结果之后,进行第二步,然后接着等待

非阻赛型

image.png

用户进程在,第一步从磁盘读取文件的过程,用户进程会一直询问,你读取好了吗。读取完成后,到了第二步,用户进程也会进入休眠状态,又成为了阻赛型。

注:如果进程进入休眠状态,crtl+c是结束不了进程的,即这个进程不会接受任何信号。如果这个进程需要等待多个进程的结果,阻赛型IO和非阻赛型IO都不满足这个需求

复合型

image.png

复合型,是用户进程通过内核监控进程的一个机制,让内核代理监控。但图中的第一步和第二步都是阻赛的,两个进程,当有一个结果返回时,内核这种机制就会返回给用户进程。用户进程这次不是阻赛在单纯的一个进程,而是阻赛在内核监控进程的进制这。通过内核这种机制提高了并发能力
select()就是复合型的,select()相当于内核监控进程的机制。它最多允许底下有1024个进程,即最大并发1024,BSD研发的
poll() 也是复合型,它可以监控无数多的进程。有贝尔实验室研发。
1024个进程是BSD发现的最优性能方案,即使无数多的线程,其性能也与1024个进程差不多

事件驱动型

image.png

用户进程,在第一步读取文件的过程,用户进程会自己干别的事情,不会等待。当第一步返回结果了,此时用户进程才会阻赛状态,等待第二步的执行。
epoll()模式就属于事件驱动型。linux上的
kqueue()模式也属于事件驱动型。BSD上的

异步模型

image.png

用户进程在第一步从磁盘读取数据,和第二步复制数据时。都去干别的事情,当第二步处理好了之后。返回给用户进程

相关文章

  • IO复用模型同步,异步,阻塞,非阻塞及实例详解

    IO模型介绍 常用的5种IO模型:blocking IOnonblocking IOIO multiplexing...

  • 2.五种IO模型

    0.IO介绍1.阻塞IO模型2.非阻塞IO模型3.IO多路复用模型4.信号驱动IO模型5.异步IO模型6.五种IO...

  • IO模型的介绍

    概念介绍 同步 一个进程在等待另一个进程返回结果,如果另一个进程不返回,这个进程会一直等待,同步只是个状态 异步 ...

  • tornado源码阅读1 - 底层IOLoop

    ** 目录 ** 介绍 [IO 模型](#io 模型) 实现主体类结构主循环定时器处理 结束语 介绍 Tornad...

  • 23、pythonIO模型

    python之路——IO模型 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 ...

  • IO多路复用

    IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 同步(synchronous)...

  • python入门开发学习笔记之了解IO模型

    本节重点 了解IO模型 掌握network IO的两个阶段 本节时长需控制在15分钟内 IO模型介绍 为了更好地了...

  • 每天一个知识点(8)-Java中的IO模型

    本篇简单介绍Java中常见的IO模型: 阻塞型IO这是最传统的一种IO模型,在读写过程中都会发生阻塞现象;典型的阻...

  • 1.Nette入门第一章——IO演进

    1. IO 基础 1.1. linux网络IO模型 阻塞IO模型 非阻塞IO模型 IO多路复用模型(NIO) 信...

  • Linux中的IO模型介绍

    一、I/O 模型 一个输入操作通常包括两个阶段: 等待数据准备好 从内核向进程复制数据 对于一个套接字上的输入操作...

网友评论

      本文标题:IO模型的介绍

      本文链接:https://www.haomeiwen.com/subject/pgmjvhtx.html