Rev | Author | # | Line |
---|---|---|---|
14 | StuartYeates | 1 | Acronym for __P__ortable __O__perating __S__ystem __I__nterface Uni__X__. |
10 | StuartYeates | 2 | |
17 | LawrenceDoliveiro | 3 | [ISO]/IEC 9945 / [IEEE] Std 1003.1-1988. |
14 | StuartYeates | 4 | |
16 | IanMcDonald | 5 | An attempt to define a standard interface for all [UNIX] systems from different vendors and fight the "[BSD] vs. System V" split and the tendency of commercial operating systems to fragment and diverge. |
10 | StuartYeates | 6 | |
7 | 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. | ||
12 | StuartYeates | 8 | |
16 | IanMcDonald | 9 | The current standard is available 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. |
11 | JohnMcPherson | 10 | |
14 | StuartYeates | 11 | It used to be significantly harder for individuals to get copies of the standard, leading to comments such as |
11 | JohnMcPherson | 12 | |
16 | IanMcDonald | 13 | <pre> |
11 | JohnMcPherson | 14 | /* |
15 | * ok, as I hadn't got any other source of information about | ||
16 | * possible error numbers, I was forced to use the same numbers | ||
17 | * as minix. | ||
18 | * Hopefully these are posix or something. I wouldn't know (and posix | ||
19 | * isn't telling me - they want $$$ for their f***ing standard). | ||
20 | ... | ||
21 | */ | ||
16 | IanMcDonald | 22 | </pre> |
11 | JohnMcPherson | 23 | |
14 | StuartYeates | 24 | in errno.h from the Linux kernel (version 0.01). |
10 | StuartYeates | 25 | |
26 | ---- | ||
27 | Some parts of the standard (particularly the bits that are relevant to the [Linux] [Kernel] and UserSpace: | ||
28 | |||
29 | 1003.1 defines the core functions and behaviours, as well as things like the standard ErrorMessages. | ||
30 | |||
31 | 1003.1b includes real-time extensions. | ||
32 | |||
33 | 1003.2 defines extra things such as standard RegularExpression syntax and behaviour, asynchronous I/O, and real time signal queues. | ||
34 | |||
35 | See also [POSIXLY_CORRECT]. | ||
11 | JohnMcPherson | 36 | |
10 | StuartYeates | 37 | ---- |
38 | From "The Open Group Base Specification Issue 6": | ||
39 | ;:The name POSIX was suggested by Richard Stallman. It is expected to be pronounced pahz-icks, as in positive, not poh-six, or other variations. The pronunciation has been published in an attempt to promulgate a standardized way of referring to a standard operating system interface. | ||
40 | |||
41 | Standardisation of the the pronounciation of the standards name I think is perhaps taking things too far. | ||
42 | |||
43 | POSIX® is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc. | ||
44 | |||
45 | ---- | ||
46 | 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): | ||
47 | |||
16 | IanMcDonald | 48 | <pre> |
10 | StuartYeates | 49 | There are two competing methods for language independent messages: |
50 | the X/Open `catgets' method, and the Uniforum `gettext' method. The | ||
51 | `catgets' method indexes messages by integers; the `gettext' method | ||
52 | indexes them by their English translations. The `catgets' method has | ||
53 | been around longer and is supported by more vendors. The `gettext' | ||
54 | method is supported by Sun, and it has been heard that the COSE | ||
55 | multi-vendor initiative is supporting it. Neither method is a POSIX | ||
56 | standard; the POSIX.1 committee had a lot of disagreement in this area. | ||
57 | |||
58 | Neither one is in the POSIX standard. There was much disagreement | ||
59 | in the POSIX.1 committee about using the `gettext' routines vs. | ||
60 | `catgets' (XPG). In the end the committee couldn't agree on anything, | ||
61 | so no messaging system was included as part of the standard. I believe | ||
62 | the informative annex of the standard includes the XPG3 messaging | ||
63 | interfaces, "...as an example of a messaging system that has been | ||
64 | implemented..." | ||
16 | IanMcDonald | 65 | </pre> |
14 | StuartYeates | 66 | ---- |
67 | |||
68 | [POSIX] compliant systems include: | ||
69 | |||
70 | # [SunOS] / [Solaris] | ||
15 | StuartYeates | 71 | # [HPUX] |
14 | StuartYeates | 72 | # [MacOSX] |
73 | # [Debian] | ||
74 | # [RedHat] | ||
15 | StuartYeates | 75 | # [AIX] |
16 | IanMcDonald | 76 | # [MicrosoftWindows] (with addons) |
15 | StuartYeates | 77 | ... |
14 | StuartYeates | 78 | |
79 | Note that the Linux kernel itself is not a full [POSIX] system, because a full system includes things like awk(1) and vi(1). | ||
10 | StuartYeates | 80 | |
81 | ---- | ||
82 | CategoryStandards |
lib/blame.php:177: Warning: Invalid argument supplied for foreach()