Discussion:
[Wine] If Wine isn't am emulator how does it work
John Smith
2015-07-14 19:49:27 UTC
Permalink
Sorry about this noob question, but this is something that has been boring
me. So Wine is a compatibly layer that tricks windows based apps into
working on Linux. But isn't that what an emulator does? I know emulators
more typically visualize the hardware which uses more recesses, but there
are also high level emulators which just create the environment.

isn't any software that tricks a program a forum of emulation. Or is it
more specific then that?

Another question I'd like to ask is if you could offer any help in install
Wine to an offline system. Is there a download link to the main .deb or the
repository or something. I use Linux Mint.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-users/attachments/20150715/fb0
Martin Gregorie
2015-07-15 11:03:10 UTC
Permalink
Post by John Smith
Sorry about this noob question, but this is something that has been
boring me. So Wine is a compatibly layer that tricks windows based
apps into working on Linux.
Correct. Its a bit of code that translates Windows system calls into
Linux system calls. Some, such as 'open a file for reading' will be
pretty much a 1:1 correspondence and do little more than rearrange the
parameters and maybe change the code that means 'READ' from what
Windows uses to the code used by Linux, but others, such as 'start this
program' will need to do quite a bit because the set of service calls
used by the two OSen are very different.
Post by John Smith
But isn't that what an emulator does?
No. An emulator is a fairly large program that reads an executes binary
machine instructions used by the hardware that's being emulated. These
will be totally different from the machine instructions used by the
hardware that the emulator is running on.

Wine isn't an emulator and doesn't need to be because both Linux and
Windows run in the same Intel hardware.

However, suppose I want to run a program written in assembled for a
Motorola 6809 chip: to do that under Linux I'd need an emulator because
(a) 6809 machine code is utterly different from Intel machine code
(b) 16 bit data is big-endian in the 6809 and little-endian on all
Intel chips
(c) the 6809 and any Intel chip have different numbers and types if
hardware registers.
Post by John Smith
Another question I'd like to ask is if you could offer any help in
install Wine to an offline system. Is there a download link to the
main .deb or the repository or something. I use Linux Mint.
Search for "Debian offline package installation" and for "apt-offline",
but putting the box online is probably faster and more convenient.


Martin
Florian Pelz
2015-07-15 11:37:14 UTC
Permalink
Post by Martin Gregorie
Post by John Smith
But isn't that what an emulator does?
No. An emulator is a fairly large program that reads an executes binary
machine instructions used by the hardware that's being emulated. These
will be totally different from the machine instructions used by the
hardware that the emulator is running on.
Wine isn't an emulator and doesn't need to be because both Linux and
Windows run in the same Intel hardware.
I suppose people disagree on what can be called an emulator. The term is
often used for those slow CPU emulators though. See
http://wiki.winehq.org/FAQ .

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://www.winehq.org/pipermail/wine-users/a
Martin Gregorie
2015-07-15 12:25:51 UTC
Permalink
Post by Florian Pelz
I suppose people disagree on what can be called an emulator. The term
is often used for those slow CPU emulators though.
Be careful before calling at least some of them slow.

I'm currently running OS-9/68000 applications on an emulator - that's
Microware's OS-9/68000 which runs on Motorola 68xxx chips, so the
os9exec emulator is both a software 68000 emulator as well as providing
an almost complete re-implementation of the OS-9 v2.4 operating system
so it can give access to native Linux files as well as those on an OS-9
disk image and use SSH for user access in place of serial terminals.

I used to run OS-9 v2.4 on a 25 MHz 68020, a pretty hot 32 bit chip
when I bought it back in the 1990s. Now same software is being run
under the os9exec emulator on a 64 bit Dual Athlon system, clocked at
3.2GHz. There is no speed comparison: the emulator is very much faster
than the 68020 hardware ever was. Not surprising when you consider that
the Athlon's clock speed is 128x faster than the 68020 and that the
display is now SSH over 10 Mb/s Ethernet rather than a Wyse-120
terminal running at 9600 baud.


Martin
Chris Angelico
2015-07-15 12:36:49 UTC
Permalink
Post by Martin Gregorie
Post by Florian Pelz
I suppose people disagree on what can be called an emulator. The term
is often used for those slow CPU emulators though.
Be careful before calling at least some of them slow.
Yeah, they're slow compared to native code, but maybe not compared to
the original chips. Same goes for emulating a microcontroller on a PC
- you might well have to deliberately time-delay your emulation to
match the actual hardware. As Pitt-Sing said, bless you, it all
depends!

ChrisA
Christ-Jan Wijtmans
2015-07-15 19:11:14 UTC
Permalink
unsubscribe!!!!
Matthias Apitz
2015-07-15 19:17:10 UTC
Permalink
Post by Christ-Jan Wijtmans
unsubscribe!!!!
No! Όχι!

I will not unsubscribe me.

matthias
--
Matthias Apitz, ***@unixarea.de, http://www.unixarea.de/ +49-176-38902045
No! Nein! ¡No! Όχι! -- Ευχαριστούμε!
Georg Bege
2015-07-15 07:20:30 UTC
Permalink
Hi

Emulators do emulate a platform by executing each opcode (cpu instruction),
which is served by the executable.
This isnt necessary obviously because the platform is the same (x86).
What wine does it simply knows how to read PE-EXE files and also serves
a win32 environment (dependencies as DLLs, file hiearchy layout
windows\system32 etc.).
It also means that basically, wine must provide all the necessary
syscalls which the executable will do...

Its no trick, but a huge amount of work. ;)
For example FreeBSD has an Linux compatibility layer - which would be more
or less the same like what wine does for win32.
Post by John Smith
Sorry about this noob question, but this is something that has been boring
me. So Wine is a compatibly layer that tricks windows based apps into
working on Linux. But isn't that what an emulator does? I know emulators
more typically visualize the hardware which uses more recesses, but there
are also high level emulators which just create the environment.
isn't any software that tricks a program a forum of emulation. Or is it
more specific then that?
Another question I'd like to ask is if you could offer any help in install
Wine to an offline system. Is there a download link to the main .deb or the
repository or something. I use Linux Mint.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-users/attachments/20150715/fb0d3b75/attachment.html>
Loading...