NavigationUser loginSpam?See spam posts on this site? If so, please don't reply to the spam! Instead, just report the URL to the webmaster. |
Identifying the Unix Standards* I am hearing the words about UNIX standards such as Free BSD, OpenBSD, Linux, FIFS, POSIX. |
Identifying the Unix
The UNIX standards are SVrX (System 5, Release whatever). I can't recall what the latest release was, but it hasn't changed for years. It's a de-facto standard for the filesystem hierarchy, system initialization, and service control. Most UNIXes differ from SVrX and even most Linux distributions are different from eachother although the Linux Standards Base has helped to keep things from getting too crazy.
Then there's Portable Operating System Interface for Unix (it should be POSIU, but it's spelled POSIX). As far as I know there is no operating system on the planet which is 100% POSIX compliant. POSIX just lists system calls which programmers should be able to make on compliant systems. Often the specification is not good and the result is incompatible variations on different systems. Sometimes the specification is not worth implementing. Any recent Linux kernel + GNU LibC will be mostly compliant with the latest version of POSIX. The great things about GNU LibC is that it is used to build so many UNIXes, so you can bet that most system calls made via GNU LibC don't change. However, calls to the kernel itself often do change (even if that call is technically POSIX compliant on both kernels - that's the problem with the poor POSIX specs).
So ... Solaris (is it v10 now or later?), FreeBSD, NetBSD, OpenBSD, Mac OSX, and Linux 2.4 and 2.6 are all mostly compliant with the latest POSIX specification. In the end this just means that it's not too difficult to write a piece of command-line software which can be compiled and run on any of these machines. Even Microsoft claim POSIX compliance for WinDos but they seem to have an interesting notion of what constitutes compliance.