Linked by Thom Holwerda on Fri 21st Oct 2011 23:17 UTC, submitted by jello
Thread beginning with comment 494185
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[6]: So I guess that...
by frderi on Tue 25th Oct 2011 07:37
in reply to "RE[5]: So I guess that..."
UNIX userland applications will not run on Linux as there is no ABI or API compatibility. Error codes, for example, are different, because Linus mixed them up (unintentionally). X11 applications can run on Linux if they are re-compiled for Linux, binaries will not run. Bash scripts will run.
I was referring to stuff like cat, ln and dd when I referred to the userland tools. as far as I know, binairy compatibility is not required on a UNIX system. Even source compatibility is not required. Source compatibility is required for POSIX, though (a standard from which Linux seems to be moving away from)
RE[7]: So I guess that...
by phoudoin on Tue 25th Oct 2011 08:20
in reply to "RE[6]: So I guess that..."
RE[7]: So I guess that...
by lemur2 on Tue 25th Oct 2011 21:51
in reply to "RE[6]: So I guess that..."
" UNIX userland applications will not run on Linux as there is no ABI or API compatibility. Error codes, for example, are different, because Linus mixed them up (unintentionally). X11 applications can run on Linux if they are re-compiled for Linux, binaries will not run. Bash scripts will run.
I was referring to stuff like cat, ln and dd when I referred to the userland tools. as far as I know, binairy compatibility is not required on a UNIX system. Even source compatibility is not required. Source compatibility is required for POSIX, though (a standard from which Linux seems to be moving away from) " On Linux, the command-line userland programs named cat ln and dd are not UNIX cat, ln and dd. They are written-from-scratch GNU programs with the same names and roughly the same functionality as old UNIX programs.
After all, Gnu is Not UNIX.
http://en.wikipedia.org/wiki/GNU
"GNU is a recursive acronym for "GNU's Not Unix!", chosen because GNU's design is Unix-like, but differs from Unix by being free software and containing no Unix code."
Specifically these programs and others of a similar nature are part of GNU coreutils.
http://en.wikipedia.org/wiki/GNU_Core_Utilities
The names were kept the same as old UNIX names in order that bash scripts etc would still run as written, and in order that people didn't have to remember new commands.
Nevertheless, cat, ln and dd on Linux were written-from-scratch GNU programs and they are NOT the same programs as cat, ln and dd on UNIX.
Linux and GNU were designed to be kind-of POSIX compliant, but they are not certified to be. It costs money to get POSIX certification, and no-one has paid such a fee for Linux.
Linux is Linux. It is not UNIX (but it is UNIX-like), and it is not POSIX (but it was designed with POSIX guidelines in mind).
In this day and age, Linux is far more important (in practice) than UNIX.
Edited 2011-10-25 22:11 UTC
RE[6]: So I guess that...
by henderson101 on Tue 25th Oct 2011 21:02
in reply to "RE[5]: So I guess that..."




Member since:
2007-02-17
To be clear, the Linux kernel was also written from scratch. The Linux kernel contains no UNIX code.
http://en.wikipedia.org/wiki/File:Unix_history-simple.svg
In the diagram above, Linux is represented by the second column from the left. Unlike Mac OSX, Linux has no UNIX or BSD predecessors.
Unlike Mac OSX, Linux is not a certified implementation of UNIX.
The Linux kernel is UNIX-like, since it is designed to be POSIX compliant after all, but it is not UNIX, it contains no UNIX code, and it is not therefore based on UNIX.
UNIX userland applications will not run on Linux as there is no ABI or API compatibility. Error codes, for example, are different, because Linus mixed them up (unintentionally). X11 applications can run on Linux if they are re-compiled for Linux, binaries will not run. Bash scripts will run.
Edited 2011-10-25 06:16 UTC