zoukankan      html  css  js  c++  java
  • 5种io模式

    1)阻塞I/O(blocking I/O)

    发起请求,等待数据报准备好,拷贝数据,数据返回指令

    应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直等待….数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。

    2)非阻塞I/O (nonblocking I/O)

    轮训数据报什么时候准备好,准备好之后阻塞拷贝数据,数据返回指令


    3) I/O复用(select 和poll) (I/O multiplexing)

    就是应用函数select poll epoll 监听就绪的设备 select就是遍历查询每个设备的就绪状态 如果就绪再返回,接着阻塞拷贝数据

    4)信号驱动I/O (signal driven I/O (SIGIO))


    5)异步I/O (asynchronous I/O (the POSIX aio_functions))

    首先来讲一下linux的组成,linux的每一个对象都可以称为文件,比如显示器、 打印机、驱动程序等等,对于文件会有一个描述符叫做fd(file description)。

    这个文章讲的很好 http://blog.csdn.net/jay900323/article/details/18141217/

  • 相关阅读:
    信息系统开发内容
    系统开发项目环境
    操作系统学习基础
    进程管理、内存管理、存储管理初步了解
    操作系统导论
    Hadoop学习2
    Hadoop学习
    LiveScript 字面量
    初识LiveScript
    在使用Cocos2d-JS 开发过程中需要用到的单体设计模式
  • 原文地址:https://www.cnblogs.com/bierxiaobia/p/5901366.html
Copyright © 2011-2022 走看看