SCIENCE PARK

デバドラ講座

誰でもわかるデバイスドライバ講座

サイエンスパークでは、新入社員の研修として、デバイス ドライバ開発に携わるための学習を行っております。この研修では、デバイス ドライバの仕組みを理解した上でプログラミングを行う目的のほかに、初心者でもデバイス ドライバ開発ができるための資料を作成する目的もかねております。
今回、その研修にて作成した資料を元に「誰でもわかるデバイス ドライバ講座」と題しまして、その内容を順次公開してまいります。但し、デバイスドライバ開発の10年選手、20年選手が作成したものでは無い為に、ビギナーには分かりやすい反面、経験者には不適切と思われる部分もあるかと存じます。
順次にレベルアップを計りますので、御了承下さい。

目 次

  1. レポート01
    PCの概要
  2. レポート02
    ドライバのインストールとアンインストール
  3. レポート03
    ドライバの種類
  4. レポート04
    ドライバとアプリケーションの通信
  5. レポート05
    WDKのサンプルをビルドしてみよう
  6. レポート06
    内部バス、デバイスレジスタ、メモリレジスタ
  7. レポート07
    割り込みとDMA転送
  8. レポート08
    OS,カーネル
  9. レポート09
    マルチスレッドとマルチタスク
  10. レポート10
    I/Oマネージャ
  11. レポート11
    スケジューリングと割り込み要求レベル
  12. レポート12
    メモリ管理
  13. レポート13
    レジストリー
  14. レポート14
    システムの起動
  15. レポート15
    ドライバの種類(どんな種類のデバイスドライバの開発が必要を含む)
  16. レポート16
    ドライバの構成
  17. レポート17
    ドライバの処理過程
  18. レポート18
    toaster\busの構成図
  19. レポート19
    ドライバロードの設定と動作手順
  20. レポート20
    ドライバオブジェクト
  21. レポート21
    ドライバエントリの処理
  22. レポート22
    デバイスオブジェクト
  23. レポート23
    toaster\busのロードとドライバエントリの解析
  24. レポート24
    ディスパッチルーチンの概要
  25. レポート25
    IRPの構造 、処理、操作関数
  26. レポート26
    データバッファのアクセス方法
  27. レポート27
    I/Oコントロールコード(IOCTL)
  28. レポート28
    「WindowsNTデバイスドライバプログラミングCD」CH9の解析
  29. レポート29
    ドライバと割り込みの接続
  30. レポート30
    遅延プロシージャコール(DPC)
  31. レポート31
    割り込みサービスルーチン(ISR)の処理
  32. レポート32
    DpcForIsrルーチンの処理、ISRとDpcForIsrの関係

デバイスドライバ講座(中級)

4回の講座でWinDbgというツールを使用したカーネルデバッグを行い、WinDbgとはどういったツールであるかを解説します。
ブルースクリーンの解析ができるようになることを目指しましょう!

十分な情報が記載できていない点もありますが、随時更新していきますので、どうぞよろしくお願いいたします。

レポート1
WinDbgについて
レポート2
カーネルモードのデバッグ
レポート3
NotMyFaultを使ってみよう①
レポート4
NotMyFaultを使ってみよう②

デバイスドライバ用語集

デバイスドライバでよく使用される用語をまとめたものです。
用語集

page up