デバイスドライバ開発入門

これは、私が仕事でたまたまやることになった、最初で(多分最後の?)Linux によるデバイス・ドライバ開発の経験から、学んだことを抜粋しています。これを読んだからといってすぐさまドライバが書けるようになるとは思わないでください。ただ、この手の文書はあまり見たことがなかったので、少しはインパクトあるかなあ、ぐらいの軽い気持ちで書きました。

実際のコードや関数仕様書などはお見せできませんが、雰囲気くらいは分かると思います。
カーネルのソースを読む際の参考になれば幸いです。

  1. 前提

    1. SCSIについて

    2. 開発の必要条件

  2. 入門

    1. デバイスドライバに関する一般的な考慮事項

    2. UNIXでのアプリケーション開発に関する一般的な考慮事項

    3. UNIXでのデバイスドライバ開発に関する一般的な考慮事項

  3. ドライバとカーネルのインターフェース

    1. プロセス・スケジューリング関連サービス

    2. タイマー機能

    3. メモリ操作関連

    4. リソース関連

    5. その他

  4. ドライバと上位APとのインターフェース