Wine 状态
对于那些来自更传统的 “IBM 兼容” 圈子的人来说,有两个与 Linux 相关的项目会特别有趣。其中一个项目是名为 DOSEMU 的 DOS 模拟器。另一个是名为 Wine 的 MS-Windows 模拟器。
这两个项目彼此截然不同。DOSEMU 允许您在 Linux 下运行 MS-DOS 版本,然后在该环境中运行 DOS 程序。另一方面,Wine 不需要 Microsoft 代码即可运行 MS-Windows 应用程序。它通过在应用程序编程接口 (API) 级别与 MS-Windows 应用程序进行接口来实现这一点。然后,Wine 将这些特定服务的请求转换为等效的 X-Windows 功能。我们希望在未来一期的《LJ》中刊登关于这两个项目的文章。现在,这是关于 Wine 项目的状态报告。
Wine 状态报告 - 1994 年 1 月 26 日感谢 Alexandre Julliard 和 Martin Ayotte 的工作,我们已从 Wine 中消除了所有 Xt 代码。Wine 现在更快,并且看起来更像 MS Windows。
我们有了一个新的邮件列表!!!希望这将缩短周转时间并减少混乱。
我们现在已经定义了 30% 的主要 API 函数。我们收到了第一笔资金和设备捐赠。不过,我们仍然可以使用更多。我们目前的计划是使用货币捐款从学生程序员那里购买编程时间。工作继续以惊人的速度进行。
如果您有兴趣为该项目做出贡献,请加入 wine-users 邮件列表。您可以通过发送消息加入:subscribe wine-usersto: wine-request@amscons.com要发送给列表中的所有人,请发送邮件至 wineusers@amscons.com。新版本大约在每个星期二发布。所有版本都会在 Wabi 频道上公布。此外,我将尽力回答发送给我的任何问题。但是,我们确实需要每周可以投入 10 个小时或更多时间的人。这个项目需要能够自学的人。我的地址是 bob@amscons.com。
如果您没有时间捐赠,那么资金或设备呢?该项目已发展成为一项引起广泛普遍兴趣的项目。我们已经吸引了许多个人和几个知名组织的关注。我们将接受货币捐款,以支付贡献者的时间。也需要设备。最值得注意的是,磁盘空间是一个大问题。如果您想做出贡献,请通过电子邮件与我联系。
Wine 项目旨在编写一些功能类似于 Sun 开发的 Wabi 的东西。基本目标是能够获取 MS-Windows 二进制文件并在 X-Windows 下运行它。目前,Wine 受 Linux 和 NetBSD 两个操作系统的支持。未来可能会支持其他操作系统。最终产品将主要由两部分组成
a) 程序加载器。这将把 Windows 二进制文件加载到用户进程的虚拟内存中,提供一种调整处理器 ldt 的方法,以便通常与 Windows 二进制文件一起使用的 16 位段可以正常工作,并提供一种首先调用 Windows 二进制文件的方法——允许 Windows 二进制文件回调到 32 位模式程序。这将允许 32 位模式程序再次回调到 Windows 二进制文件(即 Windows 回调)。在每种情况下,传递的参数都必须从适当的堆栈中拉出并加载到另一个堆栈上(将有一个 16 位和 32 位堆栈)。最后,必须加载一些特定于应用程序的 DLL 库,并且必须执行动态链接。
b) 成品的第二部分是一个模拟库,它接受对 Windows 函数的调用,并以某种方式将这些调用转换为对 X11 的调用,从而实现等效的功能。
应该指出的是,Windows 二进制文件将直接运行——不需要对指令进行机器级模拟。Sun 报告称,他们的 Wabi 版本比在 MS=Windows 下实际实现的性能更好——理论上,在 Wine 下也可以实现相同的结果。
该项目是 1993 年 6 月初在 comp.os.linux 上进行讨论的结果而启动的。建立了一个邮件频道用于讨论,并创建了这个目录。目前,所有上传的文件都位于私有目录中,然后在隐藏目录中。原因是该程序目前只对开发人员真正有用。一旦有东西准备好供公众使用,它将被上传到公开可见的目录中。