Direct I/O,Synchronous I/O的概念
Posted 中道学友
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Direct I/O,Synchronous I/O的概念相关的知识,希望对你有一定的参考价值。
Direct I/O概念:
Direct I/O is a way to avoid entire caching layer in the kernel and send the I/O directly to the disk.
想要使用direct io的模式,可以这样做:
Opens files with O_DIRECT flag.
Synchronous I/O概念:
Synchronous I/O is any I/O (system I/O with or without O_DIRECT, or stream I/O) performed to a file descriptor that was opened using the O_SYNC or O_DSYNC flags.
几个Flag的区别:
O_DIRECT | I/O operations performed against files opened with O_DIRECT bypass the kernel‘s page cache, writing directly to the storage. |
O_SYNC | File data and all file metadata are written synchronously to disk. |
O_DSYNC | Only file data and metadata needed to access the file data are written synchronously to disk. Metadata that is not required for retrieving the data of the file may not be written immediately. |
参考资料
===============
What is direct I/O anyway?
http://www.alexonlinux.com/what-is-direct-io-anyway
Ensuring data reaches disk
https://lwn.net/Articles/457667/
以上是关于Direct I/O,Synchronous I/O的概念的主要内容,如果未能解决你的问题,请参考以下文章