Go to main content
Oracle® Solaris 11.3 デバイスドライバの記述

印刷ビューの終了

更新: 2016 年 11 月
 
 

ファイル入出力

ファイルシステムは、ディレクトリとファイルがツリー状に階層化されたものです。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) 構造体を解釈し、要求を完了します。