Direct IO
Direct I/O 是 raw I/O 和一般 file I/O 之間的折衷。它仍然讓 application 使用 file system 中的 file,但在該 file 的 I/O mode 上關閉或繞過某些 OS buffering / locking。
它的目標是:在仍然保有 file system name、permission、allocation 等管理能力的前提下,讓 application 得到接近 raw I/O 的 block-level control
Direct I/O 的前提
Direct I/O 不是「關掉 OS 功能所以一定更快」,而是上層 application 必須真的有能力自己管理 buffering、consistency、locking、I/O pattern。否則 bypass OS 的保護和最佳化反而可能讓程式更難寫、更容易出錯。