Differences between version 14 and predecessor to the previous major change of POSIX.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 14 | Last edited on Thursday, September 2, 2004 12:58:58 am | by StuartYeates | Revert |
Older page: | version 11 | Last edited on Monday, February 16, 2004 1:18:20 pm | by JohnMcPherson | Revert |
@@ -1,12 +1,15 @@
-In the 1980s, with the various [Unix] vendors such as [IBM], [HP], Digital and SunMicrosystems each adding their own features, unix was in danger of becoming fragmented, making it harder to write portable programs
. (Also the "BSD vs. System V" split.)
+Acronym for __P__ortable __O__perating __S__ystem __I__nterface Uni__X__
.
-The name POSIX more correctly refers to a family of related standards: IEEE Std 1003.n and the parts of
ISO/IEC 9945, although originally was just the original
IEEE Std 1003.1-1988. POSIX means __p__ortable __o__perating __s__ystem __i__nterface
. (
the x is from uni__x__ ?)
+[
ISO]
/IEC 9945 /
IEEE Std 1003.1-1988.
+
+An attempt to define a standard interface for all [UNIX] systems from different vendors and fight the "[BSD] vs
. System V" split and
the tendancy of commercial operating systems to fragment and diverge.
POSIX is a large (some might even say unwieldy) standard (officially [IEEE] Standard 1003) specifying things such as the behaviour (arguments, etc) of standard programs and utilities that must exist on a system and [C] library functions. The theory is that if you write a program that conforms to POSIX standards, it will compile and run on any POSIX-compliant operating system.
-----
-From a comment in errno
.h
from the Linux kernel
(version .01
):
+The current standard is avaliable at: http://www.opengroup.org/onlinepubs/009695399/ but is not for re
-distribution
. There is also [special permission|http://standards.ieee.org/announcements/pr_linuxman.html] for extracts
from the (copyrighted
) standard to be used in Linux manual pages.
+
+It used to be significantly harder for individuals to get copies of the standard, leading to comments such as
/*
* ok, as I hadn't got any other source of information about
* possible error numbers, I was forced to use the same numbers
@@ -15,9 +18,9 @@
* isn't telling me - they want $$$ for their f***ing standard).
...
*/
-In early 2004, [permission was granted|http://standards
.ieee.org/announcements/pr_linuxman.html] for extracts
from the (copyrighted
) standard to be used in Linux manual pages
.
+in errno
.h
from the Linux kernel
(version .01
).
----
Some parts of the standard (particularly the bits that are relevant to the [Linux] [Kernel] and UserSpace:
@@ -38,9 +41,8 @@
POSIX® is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
----
As an example what it was like trying to standardise the different functionality of the different unices, consider this from the documentation for gettext(1):
-
There are two competing methods for language independent messages:
the X/Open `catgets' method, and the Uniforum `gettext' method. The
`catgets' method indexes messages by integers; the `gettext' method
@@ -56,7 +58,19 @@
so no messaging system was included as part of the standard. I believe
the informative annex of the standard includes the XPG3 messaging
interfaces, "...as an example of a messaging system that has been
implemented..."
+----
+
+[POSIX] compliant systems include:
+
+# [SunOS] / [Solaris]
+# [HP-UX]
+# [MacOSX]
+# [Debian]
+# [RedHat]
+# ...
+
+Note that the Linux kernel itself is not a full [POSIX] system, because a full system includes things like awk(1) and vi(1).
----
CategoryStandards