[過去ログ] 今夜も Wine で乾杯! - 23本目 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
439(1): 運用情報臨時板でワッチョイ導入議論中 2021/02/27(土)09:59 ID:5ARXF/kz(1/2) AAS
wineて「エミュレーションではなくLinuxにWindowsの挙動をさせてる」って説明ですけど、具体的にどういう挙動なんですかね?>教えて詳しい人
Windowsと比べると、パフォーマンスとか、アプリや処理によって速かったり遅かったりの印象
442(1): 運用情報臨時板でワッチョイ導入議論中 2021/02/27(土)16:38 ID:KTmC99XC(1) AAS
>>439
大雑把な構造は
外部リンク:wiki.winehq.org
ただ、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の構造の参考資料
外部リンク[html]:www.atmarkit.co.jp
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.044s