本を読んでいますLWNに関する記事ここに重要な声明があります。
raw デバイス (/dev/raw/rawN) は O_DIRECT I/O の特別なケースです。これらのデバイスはO_DIRECTを指定せずに開くことができますが、まだ直接I / Oセマンティクスを提供します。したがって、O_DIRECTで開かれたファイル(またはデバイス)に適用されるrawデバイスにも同じ規則が適用されます。
/dev/sda
これは今日の状況とは異なる状況を意味しますか?
答え1
いいえ、/dev/raw
既存のものと同じではありません/dev/sda
。 ~によるとLinux 2.4 SCSIサブシステムHOWTO:第11章。生デバイス:
生デバイスは既存のブロックデバイス(ディスクなど)にバインドされ、既存のブロックデバイスで「生」IOを実行するために使用できます。この「raw」IOは通常、ブロックデバイスに関連するキャッシュをバイパスします。したがって、rawデバイスは物理デバイスへのより「直接的な」パスを提供し、アプリケーションがその物理デバイスのIOタイミングをより効果的に制御できるようにします。これは通常、自己キャッシュを実行するデータベース管理システムのような複雑なアプリケーションに生のデバイスを適合させる。
生デバイスは文字デバイス(週番号162)です。最初のマイナー番号(つまり、0)は制御インターフェース用に予約されており、通常/ dev / rawctlにあります。 rawというユーティリティ(man rawを参照)を使用して、rawデバイスを既存のブロックデバイスにバインドできます。これらの「既存のブロックデバイス」はディスクまたはCDROM / DVDであり、基本インターフェイスはLinuxでサポートされているすべてのインターフェイス(IDE / ATAまたはSCSIなど)です。
HOWTOの情報に加えて、読むべき他の情報源があります。