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.  ブロックデバイスのドライバ

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

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

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

20.  USB ドライバ

21.  SR-IOV ドライバ

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

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

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

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

デバッグ準備手法

一意の接頭辞を使用してカーネルシンボルの衝突を回避する

cmn_err() を使用してドライバの活動を記録する

ASSERT() を使用して無効な前提条件を見つける

mutex_owned() を使用してロック要件の検証とドキュメント化を行う

条件付きコンパイルを使用してコストの高いデバッグ機能を切り替える

変数の volatile 宣言

保守性

定期的な健全性検査

パート IV 付録

A.  ハードウェアの概要

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

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

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

E.  pci.conf ファイル

索引

保守性

保守性を確保するには、ドライバが次の動作を実行できるようにする必要があります。

定期的な健全性検査

潜在的な障害とは、何らかのほかの動作が発生するするまではそれ自身が表面化しない障害のことです。たとえば、コールドスタンバイになっているデバイスで発生しているハードウェアの障害は、マスターデバイスで障害が発生するまで検出されないままになる場合があります。この時点で、システムには障害のあるデバイスが 2 つ含まれることになり、処理を継続できない可能性があります。

検出されないままの潜在的な障害は、通常、最終的にはシステム障害の原因となります。潜在的な障害の検査を行わないと、冗長システムの全体での可用性が損なわれます。このような状況を回避するには、デバイスドライバで潜在的な障害を検出し、ほかの障害と同じ方法で報告する必要があります。

ドライバには、デバイスで定期的な健全性検査を行うためのメカニズムを備える必要があります。デバイスがセカンダリデバイスまたはフェイルオーバーデバイスになる場合がある、耐障害を備えた状況では、プライマリデバイスで障害が発生する前に、障害が発生したセカンダリデバイスを早期に検出し、セカンダリデバイスを修復または交換できるようにすることが非常に重要です。

定期的な健全性検査を使用すると、次の活動を実行できます。