Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

リングには0-3のモードがあるが、UNIX、Windowsでも
0:カーネル、3:ユーザの2つのリングしか使用していない。

ユーザモード:リング(3)

ユーザモードは通常のプログラムが動作するリング(モード)。

カーネルモード:リング(0)

カーネルモードはOSやドライバ等のプログラムが動作するリング(モード)。

カーネルモードで動作することが許されているのは、

に限定されている。

Kernel Objects

また、Windowsカーネルはカーネル・オブジェクトとしてサービスを提供する。

このため、カーネル・オブジェクトを使用してWindowsカーネルの提供するサービスを使用したり、ドライバ経由で処理を行うファイルIOを行う場合は、
ユーザプログラムのプロセスでも、カーネルモードのCPU時間が増加することをタスクマネージャやパフォーマンスカウンタ等から確認できる。

カーネルモジュール

ntoskrnl.exeを実行するのはSystemプロセス
(Windows 2000ではPID8、XPとServer 2003ではPID 4)
であり、このプロセスはユーザーモードの実行ファイルを動作させていない。

Names of kernel

ドライバ

ドライバ(*.sys)

ドライバ(*.sys)は

に存在し、Systemプロセスから呼び出される。

WDM

分類

WDMドライバは以下のように分類される。

開発

利用

ドライバ(*.sys)は、通常、ベンダのリリースする
デバイス付属のSDK(ユーザモード、DLL)経由で使用する。
※ DLLから、システムサービス、IOマネージャ経由で.sys(ドライバ)とIRP通信をする。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS