<br><br><div class="gmail_quote">On Tue, Feb 17, 2009 at 5:50 PM, Alan Porter <span dir="ltr"><<a href="mailto:porter@trilug.org">porter@trilug.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
> The Windows software is an interesting addition. If they are running<br>
> under Wine, you would definitely need a bit of memory and a faster<br>
> processor. Emulation does not exactly improve performance.<br>
<br>
</div>Wine is not an emulator (in fact, I think it even stands for that<br>
W-I-N-E). It is a loader and a set of shared libraries that implement<br>
the Win32 API using Linux calls. That is, when someone calls<br>
Win32OpenFileSomething(), it links to a function that actually opens the<br>
files using Linux calls. Some of these are low-level calls directly<br>
from glibc, while others are nice window-ish dialog boxes written in<br>
X-window primitives. A good example of this is the "File / Open" dialog<br>
box that you see in almost every Windows app. WINE provides a "File /<br>
Open" dialog box that happens to know how to navigate your home<br>
directory, follow symlinks, and other Linux-ish things.<br>
<br>
So... WINE will not be as slow as a CPU emulator, such as Qemu, which is<br>
probably what you were thinking of.<br>
<font color="#888888"><br>
Alan<br>
</font><div><div></div><div class="Wj3C7c">
_________________________________________<br>
Linux-ham mailing list<br>
<a href="mailto:Linux-ham@trilug.org">Linux-ham@trilug.org</a><br>
<a href="http://www.trilug.org/mailman/listinfo/linux-ham" target="_blank">http://www.trilug.org/mailman/listinfo/linux-ham</a><br>
</div></div></blockquote></div><br>You are correct in that WINE is not a true emulator as Qmenu. At some point, all cross platform software faces the issue of differences between system calls and their behavior. Just as the kernel uses the virtual file system to create a common interface between applications and the wide variety of file systems, so must cross-platform software provide a virtual interface that hides the difference between kernel system calls. From user-space, system calls are the only mechanism available to an application to communicate with kernel space. Even extract kernel data from /proc (procfs file system) involves a small set of system calls. One can stretch vfs a long ways. Now, I have to find out how WINE works. It is a bad habit of mine - I am always trying to figure out how things work. I am the under-the-hood guy.<br>
<br>-- <br>Bill Anderson<br>WW7BA<br>