ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
デバイスドライバの記述 Oracle Solaris 11.1 Information Library (日本語) |
パート I Oracle Solaris プラットフォーム用デバイスドライバの設計
2. Oracle Solaris カーネルとデバイスツリー
dump() エントリポイントと print() エントリポイント
22. ドライバのコンパイル、ロード、パッケージ化、およびテスト
23. デバイスドライバのデバッグ、テスト、およびチューニング
ファイルシステムは、ディレクトリとファイルがツリー状に階層化されたものです。UNIX ファイルシステム (UFS) などの一部のファイルシステムは、ブロック指向のデバイス上に存在します。ファイルシステムは、format(1M) と newfs(1M) によって作成されます。
アプリケーションが UFS ファイルシステム上の通常ファイルに read(2) または write(2) システムコールを発行したとき、ファイルシステムは、そのファイルシステムが存在するブロックデバイスに対するデバイスドライバの strategy(9E) エントリポイントを呼び出すことができます。ファイルシステムのコードは、1 回の read(2) または write(2) システムコールに対して strategy(9E) を複数回呼び出すことができます。
ファイルシステムのコードは、通常ファイルのブロックごとに論理デバイスアドレス、つまり論理ブロック番号を決定します。その後、ブロック入出力要求が、ブロックデバイスを宛先とする buf(9S) 構造体の形式で作成されます。次に、ドライバの strategy(9E) エントリポイントが buf(9S) 構造体を解釈し、要求を完了します。