Linux文件I/O操作模型浅析

来源:互联网 发布:网络上的eve是什么意思 编辑:程序博客网 时间:2024/05/27 09:44

Linux文件I/O操作模型浅析

1.堵塞I/O操作模型: 举例说明如果你想从一块缓冲区或内存读数据,但是其中并没有数据,进程就会挂起等待数据准备好,直到数据准备好再进行read操作;
2.非堵塞I/O操作模型:面对缓存区或内存并无数据的情况,进程不会休眠,而是立即返回,随后以轮询的方式不断检查数据是否准备好,数据准备好后进行读操作;
3.I/O多路转接模型:较堵塞I/O操作模型多了一个select(),select()代替进程对文件描述符进行循环监听,当描述符准备就绪后,它返回可读条件后再进行I/O操作;
4.信号驱动I/O模型:应用程序告诉内核,当你准备好数据后,给我发送一个信号,并调用我的信号处理函数获取数据报;
5.异步I/O模型:不使用read,write系统接口使用aio_read系列的内核接口。内核无数据报准备好,把控制权归还应用程序,有数据报准备好就把数据包传给应用程序,返回给aio_read中定义好的函数处理程序。
原创粉丝点击