最終更新:2012-04-05 (木) 15:19:46 (4402d)  

カーネルモード
Top / カーネルモード

カーネルモードへ移行する方法

  • WindowsNT/2000 int 2E(割込みゲート?)
  • WindowsXP/2003(x86版) sysenter?
  • WindowsXP/2003(x64版) syscall?
  • Windows95/98/Me call?(コールゲート?)

関数

I/Oマネージャ(lo)

  • ドライバを使用するさまざまなサービスファンクションを含む。

プロセス構造体モジュール(Ps)

  • カーネルモードスレッドの作成および管理をする。デバイスのポーリングは通常独立したスレッドによって行われる。

メモリマネージャ(Mm)

  • 仮想アドレスから物理メモリへの管理する。

エグゼクティブサポート(Ex)

  • ヒープ管理と同期サービスを提供する。

オブジェクトマネージャ(Ob)

  • Windowsが操作するさまざまなデータオブジェクトを一元管理する。

セキュリティリファレンスモニタ(Se)

  • ファイルシステムドライバがセキュリティチェックを実行できるようにする。

ランタイムライブラリコンポーネント(Rtl)

  • リスト/文字列管理ルーチンなど、カーネルモードドライバが通常のANSI標準ライブラリルーチンの代わりに使えるユーティリティルーチンが含まれる。

ユーザモード移行(Zw)

  • カーネルモードからWin32サブシステムへのユーザモード呼び出しをサポートする。Windows2000 DDKは、ドライバ用として、ファイル/レジストリアクセスファンクションなど、かなりのファンクションを公開している。

カーネルサポート(ke)

  • スレッドとプロセッサの間の低水準同期処理が含まれる。

ハードウェア抽象化レイア(Hal)

  • HALは、特定のプラットフォームでの割り込みの仕組み、スピンロックの実装方法、I/Oとメモリマップおよびデバイスのアドレッシング方法などを行う。

参考