进程通过内核缓存区请求设备I/O的一些事情
Posted saintdingspage
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程通过内核缓存区请求设备I/O的一些事情相关的知识,希望对你有一定的参考价值。
- 请求进程,内核缓存区,设备I/O
请求进程无法直接访问设备I/O,而是通过内核缓冲区提交请求数据,等数据就绪后,数据从设备缓冲区提交至进程空间
请求进程把数据提交给内核缓存空间需要等待,内核把数据复制给设备I/O,直到数据就绪,还需要等待,这些等待过程大致可以分为五种模式
- blocking I/O----阻塞式I/O
- NON blocking I/O----非阻塞式I/O
- I/O multiplexing----I/O多路复用
- 信号驱动I/O
- 异步I/O
一个进程要处理两个I/O就必须复用,负责完成不了处理,一个进程处理两个链接,处理多个文件描述符,处理多个请求;一个进程处理一个请求时也得需要I/O多路复用,因为可能涉及本地交互式输入(本地磁盘I/O),
网络交互式输入(网络I/O)
所谓阻塞:任务完成前只能等待
非阻塞:任务完成前,可以接着干别的事情
异步非阻塞(上图)数据从设备I/O复制到内核缓存的过程中,请求处于非阻塞状态,不断轮询内核缓存空间数据是否就绪,实际上降低了性能,尚不如同步阻塞I/O
所谓异步同步指的是对结果是否就绪的了解程度-----等待请求直到就绪谓之同步(一直监控并等待请求结果就绪;也称之闲等),不知道何时就绪,不断轮询是否就绪谓之异步(忙等)
以上是关于进程通过内核缓存区请求设备I/O的一些事情的主要内容,如果未能解决你的问题,请参考以下文章