How is WINE not an emulator?

How is WINE not an emulator?

An emulator abstracts whereas WINE transposes.

/thread

If WINE is not a windows emulator, what would be an example of a windows emu

A virtual machine

compatibility layer

qemu

Thats virtualization which is separate from emulation
DosBox would be the closest thing to a 'Windows' emulator but its not even windows
you don't need to emulate windows because its the same assembly for Linux and Windows (x86 vs x86)
just different ABI's

>How is WINE not an emulator?
Let me Google that for you!
bfy. tw/6JP5

There are no Windows emulators. You don't emulate software.

>Thats virtualization which is separate from emulation
How?

Wine is an implementation of software API, it's mainly Win32API but there are others like Direct X. Software emulation is about emulating hardware. As far as I know, there is no Windows hardware machine so therefore, Windows cannot be emulated.

>How is WINE not an emulator?
Emulator: generates and runs "Fake" hardware because the software you're trying to use doesn't actually run on the hardware you have.

WINE: Windows runs natively on the hardware you have. You're just building a pipe for it to work alongside another OS.

pick up a fucking book

Emulation is running shit meant to one architecture in another architecture.
Historically consoles used different architectures than x86 so they're all emulators and it got people confused that they now think that emulation is just running something else that is not supported

That's not an answer to my question.

>Thats virtualization which is separate from emulation
What does virtualization mean?

It's emulated hardware, same as DOSBOX does. DOSBOX is just very simplistic about its hardware emulation.

The many good answers were very enlightening.

>What does virtualization mean?

Some hardware/firmware/BIOS is emulated and some is pass-through.

For example, the processor is used directly under a hypervisor, GPU can be pass-through, etc. while network cards, storage, and optical/USB are all completely emulated in software.

Virtualization is emulation. It emulates hardware to that the guest OS runs on. Modern CPU support for virtualization is very new. But that doesn't automatically mean VMs don't emulate hardware.

>For example, the processor is used directly under a hypervisor,
Only on processors that support that, otherwise the instructions must be translated for the host CPU, same as emulators do.

I am going to make it really general, but virtualization uses hardware acceleration generally.
such at VT-d which iirc can handle the guest system's interrupts in hardware for example

Also some more advanced console emulators have taken advantage of virtualization features to speed them up
(ie Dolphin the GC/Wii Emu) but I am not a dev for that project so take this with a grain of salt.

This is a huge topic go read a book (hell I need to read a book on it)

I guess you could maybe make that stretch, that Virtualization is emulation, but not all emulation is virtualization.

>Only on processors that support that
what processor doesn't support hypervisor?
pentium II?

My point is you're automatically assuming virtual machine uses virtualization technology. Not so. only very recent ones do.

Running a PPC guest OS on an x86 processor for one

>very recent
yeah like any non-trivial Virtualization software made in the last 10-15 years
and that might as well be an eternity in computing.

You fucking idiot, it's an emulator. WINE is short for Windows Emulator

>WINE is short for Windows Emulator
No it isn't.