Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
POSIX
Edit
PageHistory
Diff
Info
LikePages
You are viewing an old revision of this page.
View the current version
.
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.) 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__ ?) 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. The current standard is avaliable at: http://www.opengroup.org/onlinepubs/009695399/ but is not for re-distribution. ---- From a comment in errno.h from the Linux kernel (version 0.01): /* * ok, as I hadn't got any other source of information about * possible error numbers, I was forced to use the same numbers * as minix. * Hopefully these are posix or something. I wouldn't know (and posix * 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. ---- Some parts of the standard (particularly the bits that are relevant to the [Linux] [Kernel] and UserSpace: 1003.1 defines the core functions and behaviours, as well as things like the standard ErrorMessages. 1003.1b includes real-time extensions. 1003.2 defines extra things such as standard RegularExpression syntax and behaviour, asynchronous I/O, and real time signal queues. See also [POSIXLY_CORRECT]. ---- From "The Open Group Base Specification Issue 6": ;: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. Standardisation of the the pronounciation of the standards name I think is perhaps taking things too far. 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 indexes them by their English translations. The `catgets' method has been around longer and is supported by more vendors. The `gettext' method is supported by Sun, and it has been heard that the COSE multi-vendor initiative is supporting it. Neither method is a POSIX standard; the POSIX.1 committee had a lot of disagreement in this area. Neither one is in the POSIX standard. There was much disagreement in the POSIX.1 committee about using the `gettext' routines vs. `catgets' (XPG). In the end the committee couldn't agree on anything, 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..." ---- CategoryStandards
65 pages link to
POSIX
:
bash(1)Part7
getopt(3)
LinuxFudDispelled
PerlOneLiners
FailureMode
lseek(2)
vfork(2)
PortabilityNotes
bash(1)
Unix
sigaction(2)
POSIXLY_CORRECT
ManPage
fsync(2)
fcntl(2)
execve(2)
nanosleep(2)
socketpair(2)
NetCat
dup2(2)
EnvironmentVariable
creat(2)
fchmod(2)
getpid(2)
getuid(2)
setsid(2)
Cygwin
geteuid(2)
getppid(2)
ErrorMessages
MicrosoftCorporation
sqrt(3)
lchown(2)
exec(3)
fgets(3)
awk(1)
open(2)
read(2)
readdir(2)
recvfrom(2)
rename(2)
fork(2)
qsort(3)
madvise(2)
GreenStone
Signal
pselect(2)
ApplicationErrorMessages
mprotect(2)
mmap(2)
select(2)
HowLinuxWorksReview
SignalHandler
SCons
SambaNotes
FunnyApplicationErrorMessages
setsockopt(2)
zsh(1)
VMS
CrossPlatform
send(2)
IEEE
Ext3
MacOSX
POSIX_ME_HARDER