2010年4月13日火曜日

【超雑訳】Wineデベロッパーズガイド::II. Wineアーキテクチャ::概要::一般的なWindowsアーキテクチャ (Wine Developer's Guide::II. Wine Architecture::Overview::Standard Windows Architectures)

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 件のコメント:

コメントを投稿