JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
デバイスドライバの記述     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I Oracle Solaris プラットフォーム用デバイスドライバの設計

1.  Oracle Solaris デバイスドライバの概要

2.  Oracle Solaris カーネルとデバイスツリー

3.  マルチスレッド

4.  プロパティー

5.  イベントの管理とタスクのキュー

6.  ドライバの自動構成

7.  デバイスアクセス: プログラム式入出力

8.  割り込みハンドラ

9.  ダイレクトメモリーアクセス (DMA)

10.  デバイスメモリーおよびカーネルメモリーのマッピング

11.  デバイスコンテキスト管理

12.  電源管理

13.  Oracle Solaris ドライバの強化

14.  階層化ドライバインタフェース (LDI)

パート II 特定の種類のデバイスドライバの設計

15.  文字デバイスのドライバ

16.  ブロックデバイスのドライバ

ブロックドライバの構造の概要

ファイル入出力

ブロックデバイスの自動構成

デバイスアクセスの制御

open() エントリポイント (ブロックドライバ)

close() エントリポイント (ブロックドライバ)

strategy() エントリポイント

buf 構造体

bp_mapin 構造体

同期データ転送 (ブロックドライバ)

非同期データ転送 (ブロックドライバ)

無効な buf 要求のチェック

要求のキューへの入力

最初の転送の開始

割り込んでいるデバイスの処理

dump() エントリポイントと print() エントリポイント

dump() エントリポイント (ブロックドライバ)

print() エントリポイント (ブロックドライバ)

ディスク装置ドライバ

ディスクの ioctl

ディスクパフォーマンス

17.  SCSI ターゲットドライバ

18.  SCSI ホストバスアダプタドライバ

19.  ネットワークデバイスのドライバ

20.  USB ドライバ

21.  SR-IOV ドライバ

パート III デバイスドライバの構築

22.  ドライバのコンパイル、ロード、パッケージ化、およびテスト

23.  デバイスドライバのデバッグ、テスト、およびチューニング

24.  推奨されるコーティング方法

パート IV 付録

A.  ハードウェアの概要

B.  Solaris DDI/DKI サービスのサマリー

C.  64 ビットデバイスドライバの準備

D.  コンソールフレームバッファードライバ

E.  pci.conf ファイル

索引

ファイル入出力

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