rawI/O とブロックデバイス 通常,ディスクアクセスなどのブロックデバイスに対する read/write にはデバイスからカーネル空間(のバッファ),カーネル空間からユーザ空間へと2度のコピーが入る. このようなバッファリングは通常のアプリケーションではキャッシュとして有効に働くが,DBMS のように大規模なデータをバルク転送したり,アクセスパターンが異なるものは,アプリケーションが独自にバッファ管理した方が効率的な場合が考えられる.そこで,Unix が提供している機構が rawI/O である. また,比較的最近の Unix では,mmap が提供されている.mmap では,インタフェースやセマンティクスが従来の read/write モデルとは異なるが,rawI/O の場合は,通常のファイルではなくデバイスファイルを通じてアクセスすることになるが,バッファリングしないだけで,そのイン