7.2. 一般的なWindowsアーキテクチャ
7.2.1. Windows 9x アーキテクチャ
Windowsアーキテクチャ(Win 9x 系)はこのようになっています:
+---------------------+ \| Windows EXE | } アプリケーション+---------------------+ /+---------+ +---------+ \| Windows | | Windows | \ アプリケーション & システムDLL群| DLL | | DLL | /+---------+ +---------+ /+---------+ +---------+ \| GDI32 | | USER32 | \| DLL | | DLL | \+---------+ +---------+ } コアシステムDLL群+---------------------+ /| Kernel32 DLL | /+---------------------+ /+---------------------+ \| Win9x kernel | } カーネル空間+---------------------+ /+---------------------+ \| Windows 低レベル | \ ドライバ群(カーネル空間)| ドライバ群 | /+---------------------+ /
7.2.2. Windows NT アーキテクチャ
Windowsアーキテクチャ(Windows NT系) は以下の図のようになります。
異なるサブシステム群を(win32のように)実装することを可能にする新しいDLL(NTDLL)に注目しましょう。NTアーキテクチャのkernel32はWin32サブシステムをNTDLLの上に実装しています。
+---------------------+ \| Windows EXE | } アプリケーション+---------------------+ /+---------+ +---------+ \| Windows | | Windows | \ アプリケーション & システムDLL群| DLL | | DLL | /+---------+ +---------+ /+---------+ +---------+ +-----------+ \| GDI32 | | USER32 | | | \| DLL | | DLL | | | \+---------+ +---------+ | | \ コアシステムDLL群+---------------------+ | サブ | / (左側)| Kernel32 DLL | | システム | /|(Win32 サブシステム) | |Posix、OS/2| /+---------------------+ +-----------+ /+---------------------------------------+| NTDLL.DLL |+---------------------------------------++---------------------------------------+ \| NT カーネル | } NTカーネル(カーネル空間)+---------------------------------------+ /+---------------------------------------+ \| Windows低レベルドライバ群 | } ドライバ群(カーネル空間)+---------------------------------------+ /
また、(上記の図式で描かれていない)16ビットアプリケーションは特定のサブシステムでサポートされている事に注意してください。
* あらゆるサブシステム(Win32、Posix...)はNT上で走りますが、Win9xでは走りません
* Win 9xは16ビットシステムにそのアーキテクチャを根ざしていますが、NTは真の32ビットシステムです。
* Win 9xとNTのドライバモデルとインターフェースは(MicrosoftがWin 98以上でのWDMドライバの大がかりなサポートでそのギャップを埋めようとしているにもかかわらず)異なります。
0 件のコメント:
コメントを投稿