what makes up the compatability of an OS?
This might be hard to explain
But what code makes certain operating systems open different files
for example
Windows can run software created for windows, like exes and such
Linux can run software off of wine only, and .tar.gzs and such.
why cant linux run .exes and why cant windows run .tar.gzs?
Is it the kernel that makes the difference or what is it?
The reason im not switching to linux is because of that..
Tagged with: gzs • kernel • linux • operating systems • wine
Filed under: All Things Wine
Like this post? Subscribe to my RSS feed and get loads more!
Linux doesn’t "run" tar files or gz files, it has programs that open them. So does Windows (programs like 7zip).
Executable files are compiled for the environment they’re going to run in. If a program makes a call to a Windows API (programming interface - the part of the kernel the program calls to get a specific task accomplished), it’s not going to fine that API in Linux. Even if Linux has an identical API (like get the next key from the keyboard, or blank if none is ready), it’s going to be called something different and it’s going to work differently. Eventually, with hundreds of APIs, one of them is going to crash the program (or the program will crash the API). It’s like putting diesel fuel in a Corvette - it runs other vehicles, but it’ll ruin a ‘Vette.
First, .tar and .gz are not executable files, they are compressed format files similar to .zip in Windows. Although these are not commonly used on windows there are programs for Windows that will open them.
The other part you are correct on, programs made to Windows will only run on Windows, and those made for Linux will only run on Linux. The major difference between these files is how they access functions in the operating system. So for example they way a Linux program requests a keypress from the keyboard is different from how Windows does it.