读漫谈WINE的系统结构笔记
试验环境: Debian + wine 1.0+ vim7.2+ctags
联系方式:hongmy525(at)gmail.com
2008年12月25日
这不是我第一次阅读毛老师的漫谈系列了,不知道是因为太久以前看的,还是以前看的时候没有理解,现在竟然忘记得干干净净,呵呵。其实在毛老师的漫谈中,已经讲得很清楚了,但好记性不如烂笔头,我还是记一下:)
概述
Wine是Windows应用软件与Linux内核之间的适配层,通俗的说就是让linux支持windows软件的程序。
在wine运行时,一般应该有3部分,且这三部分相互有联系:
1、Wineserver服务进程。用来管理和协调windows应用程序的。
2、X11进程。处理图形显示、键盘鼠标输入等。
3、 Windows应用程序。Windows应用程序运行本身。
那天写这文章的时候死活找不到这个图,现在找到了补上:)
Wine Architecture:
+---------------------+ /
| Windows EXE | } application
+---------------------+ /
+---------+ +---------+ /
| Windows | | Windows | / application & system DLLs
| DLL | | DLL | /
+---------+ +---------+ /
+---------+ +---------+ +-----------+ +--------+ /
| GDI32 | | USER32 | | | | | /
| DLL | | DLL | | | | Wine | /
+---------+ +---------+ | | | Server | / core system DLLs
+---------------------+ | | | | / (on the left side)
| Kernel32 DLL | | Subsystem | | NT-like| /
| (Win32 subsystem) | |Posix, OS/2| | Kernel | /
+---------------------+ +-----------+ | | /
| |
+---------------------------------------+ | |
| NTDLL | | |
+---------------------------------------+ +--------+
+---------------------------------------+ /
| Wine executable (wine-?thread) | } unix executable
+---------------------------------------+ /
+---------------------------------------------------+ /
| Wine drivers |