摘要:
“同步”和“异步”这两个概念强调的是I/O操作在返回之前是否需要等待某个时间,而“同步化”强调的是必须发生何种事件。比如写入操作的四种情况如下:“同步化”+“同步”:操作会等到数据被刷入磁盘后返回,比如文件以O_SYNC模式打开;“同步化”+“异步”:虽然操作会在请求插入队列的时候就返回,但是该操作会保证数据刷入磁盘“异步化”+“同步”:数据写入内核缓冲中才返回,但是该操作只会影响内核缓冲区,这是通常方式;“异步化”+“异步”:操作插入请求队列就马上返回了。为什么会需要异步I/O操作?操作的时候不想被阻塞,那么是不是可以认为I/O操作的开销为0?把插入队列、I/O提交内核、接受操作完成通知等动 阅读全文