>>439
大雑把な構造は
ttps://wiki.winehq.org/Wine_Developer%27s_Guide/Architecture_Overview

ただ、3.1 Global pictureのWine Serverは横ではなく、NTDLLの下Wine driversの上のWine executableの
位置にいて、NT Kernelの代わりをしていると考えた方がわかりやすいかも

いわゆるマイクロカーネルのOSサーバに相当するのがwineserver

NTDLL.dllだけでなくKERNEL32.dllやUSER32.dllやGDI32.dllが提供するWin32API全体がwineserverへの
IPCとして実装されていて、IPC経由で呼ばれたwineserverがLinuxやXやWaylandの機能等を利用して
Win32APIの実際の処理を提供している形になっている

Windows NTのWin32サブシステムも本来は同様の構造で、USER32.dllやGDI32.dll(KERNEL32.dllは一部の
APIだけ)がCSRSS.exeへのIPCを行い、CSRSS.exeがそのまま処理したりNTDLL.dll経由でシステムコールを
発行したりユーザーモードのドライバでグラボ等を制御してWin32APIを提供する仕組みだった

例えばWindow関係は、NT 3.51まではGDI32のCreateWindowEXを呼び出してWindowを作成しようとすると、
GDI32.dllがCSRSS.exeへIPCを行い、CSRSS.exeがグラボ等を制御してWindowを作成する仕組み

NT 4.0からCSRSS.exeへのIPCではなくNT Kernel内のwin32k.sysのNtCreateWindowシステムコールを
呼び出す形に変更されたり、KERNEL32.dllのOpenFileを呼び出してファイルを開く場合は、CSRSS.exeを
経由せずKERNEL32.dllが直接NTDLL.dll経由でNT KernelのNTOpenFileシステムコールを呼ぶ構造だったり
するけど、wineserverとCSRSS.exeが似たようなことを行っていると考えれば、Windows NTの構造が
わかっているなら理解しやすいはず

Windows NTの構造の参考資料
ttps://www.atmarkit.co.jp/fwin2k/bookpreview/insidewin4/insidewin4_04.html