フレームバッファーなどの特定のデバイスでは、バイトストリーム入出力を行うよりも、デバイスメモリーへの直接アクセスをアプリケーションプログラムに許可したほうが効率的です。アプリケーションのアドレス空間にデバイスメモリーをマッピングするには、mmap(2) システムコールを使用します。メモリーマッピングをサポートするために、デバイスドライバは segmap(9E) およびdevmap (9E) エントリポイントを実装します。 devmap(9E) については、Chapter 10, Mapping Device and Kernel Memoryを参照してください。segmap (9E) については、Chapter 15, Drivers for Character Devicesを参照してください。
devmap(9E) エントリポイントを定義するドライバは通常、 read(9E) および write (9E) エントリポイントを定義しません。これは、アプリケーションプログラムが、mmap(2) の呼び出し後にデバイスに対して直接入出力を実行するからです。
次の表に、devmap フレームワークを使ってメモリーマッピングを実行する文字デバイスドライバで使用できる追加のエントリポイントを示します。その他のエントリポイントについては、Entry Points Common to All DriversおよびEntry Points for Character Device Driversを参照してください。
|