this post was submitted on 21 Jan 2025
431 points (98.6% liked)

Linux

49130 readers
961 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] herrvogel@lemmy.world 4 points 6 hours ago (1 children)

It's a translator. Takes commands that are meant for windows to understand, and translates them into something Linux can work with. If the program requires the services of the kernel, for instance, it makes its system call as usual but the call gets converted to a command for the Linux kernel. At the end of the day it's the Linux kernel doing the work that was aimed at the windows kernel, and there is no windows kernel anywhere at all. That's unlike an emulator where you'd be running the windows kernel inside your Linux environment.

Wine also creates a windows-looking file structure so that programs can find the stuff they're looking for where they expect them to be. Like, it creates a "program files" directory somewhere in your filesystem and tells the windows applications to look there if they need to. There's more to it, but you get the gist I hope.

In a way, wine extends your Linux environment to support windows stuff. Whereas an emulator would create a new windows environment entirely. The goal is not to trick software into thinking it's on a windows machine, it's to make it work on Linux. The difference there is that by making it work on Linux you can make it work together and share resources with the rest of the system instead of remaining isolated in its own emulated environment.

[–] Allero 3 points 4 hours ago

I think the above was a light-hearted joke. Your answer might be useful for newbies, though