Click to See Complete Forum and Search --> : Linux/Unix
Eric303
01-22-2001, 01:13 AM
I have read somewere out there recently that Linux is trying to get POSIX compliance. How close is it to that and is it necessary? And what is POSIX all about? Some sorta of UNIX definition standard? It would seem that Linux is close in a few ways, being as stable as it is.
Beowulf_Ghost
01-22-2001, 03:07 AM
POSIX is a standard on how things sould work in a computer. A program that is written to strict POSIX standards should "theoreticaly" work on any system that is POSIX compliant.
Linux falls under the catagory of "POSIX compatible". I beleive you have to get certified (IEEE I think) to be official (and I'm sure it costs an arm and a leg).
Being POSIX compliant would meen it would be easier to port application.
------------------
Silence is Foo!
------------------
"They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." - Ben Franklin, ~1784
http://www.lp.org
Craig McPherson
01-22-2001, 03:10 AM
I stole this from somewhere, because I didn't want to explain it myself...
POSIX stands for Portable Operating System Interface, and is an IEEE standard designed to facilitate application portability. POSIX is an attempt by a consortium of vendors to create a single standard version of UNIX. If they are successful, it will make it easier to port applications between hardware platforms. Hewlett-Packard is incorporating POSIX into version 5.0 of its MPE/iX proprietary operating system and into version 10.0 of HP/UX (its UNIX).
There are more than ten parts to the POSIX standard, but two are widely available. POSIX.1 defines C programming interfaces (that is, a library of system calls) for files, processes, and terminal I/O. To support the library, a POSIX system must implement a Hierarchical File System (HFS). POSIX.2 defines a "shell" command interpreter and utilities (e.g., ls to list files). Certain important standards are not covered by POSIX (for example, spooling, batch processing, and NLS -- Native Language Support). NLS is defined by the X/Open standard.
What that doesn't mention is that POSIX was originally conceived and managed by the United States government, but I guess it was handed off to IEEE at some point. I think Microsoft also had some input in creating it for some reason. Windows NT has a POSIX subsystem (for running programs written to POSIX standard) and its NTFS file is POSIX-compliant (supporting Hard Links, case sensitivity, etc).
A free Linux distro can never be certified as fully POSIX-compliant, because one of the elements of POSIX requires the operating system to include CDE, and CDE is not available for free (neither 'free speech' or, AFAIK, 'free beer'). POSIX also requires a few other non-free tidbits that can't be included with a free Linux OS.
Linux is generally POSIX compliant, though, and should run any binary program written fully to POSIX spec. The problem is that the POSIX spec for binaries isn't terribly broad, so one can't write very complex or useful programs to POSIX spec.
Hope that helps.
Muzzafarath
01-22-2001, 03:34 AM
POSIX stands for Portable Operating System Interface
Where does the X come from?
Craig McPherson
01-22-2001, 03:47 AM
The "X" is to make it rhyme with "UNIX".
Duh, people.
(As I understand it, ESR (yes, our ESR) came up with the name "POSIX" -- some of the project leaders were going to give it a really lame name, but Mr. Raymond happened to be involved with the project in some aspect, and proposed the "POSIX" name.)