Portable Operating System Interface
ISO / IEC / IEEE 9945
|developer||Portable Application Standards Committee|
|Current version||IEEE Std 1003.1-2008|
|operating system||Operating system independent|
The Portable Operating System Interface ( POSIX [ ˈpɒzɪks ]) is a standardized programming interface developed jointly by the IEEE and the Open Group for Unix , which represents the interface between application software and the operating system. The international standard is called ISO / IEC / IEEE 9945.
An alternative designation is (The Open Group Technical Standard) Base Specifications . POSIX forms the basis of the Single UNIX Specification .
The current standard is a further development from a project from 1985. The term POSIX was proposed by Richard Stallman and meets the request of the IEEE for a memorable name; it replaced the designation IEEE-IX. Most Unix derivatives largely adhere to the standards set out in IEEE1003.1 (1990) and IEEE1003.2 (1992). These older versions were replaced in 2001 by the revised version IEEE Std 1003.1-2001 of the IEEE and Open Group . In 2004 a slightly corrected version IEEE Std 1003.1, 2004 Edition was published. A revision took place in 2008, this was given a new edition in 2013 and 2016. Another revision took place in 2017.
The specification of the user and software interface of the operating system is divided into four parts, which together form the IEEE Std 1003.1-2008 standard:
- Basic definitions
- A list of the conventions, definitions and concepts used in the standard.
- System interface
- The C system calls and associated header files.
- Command line interpreter and utilities
- A list of the utilities and the command line interpreter .
- Explanations about the standard.
Other auxiliary programs such as awk , vi or echo are also part of the POSIX standard. Among other things, the C functions provide input and output (for files , terminals and network services ) and provide control over processes as well as user and group management.
POSIX compatible operating systems
Operating systems can be fully or partially POSIX-compatible - this depends on whether you implement the POSIX standards entirely or only partially. The (mostly minimal) deviations from the standard nowadays are primarily a conscious decision in favor of other compatibility and less a lack of practicability.
Fully POSIX compliant
The following operating systems are fully compatible with the entire standard and are therefore POSIX-compliant:
- A / UX
- BSD / OS
- macOS including Darwin
- RTEMS (POSIX 1003.1-2003 Profile 52)
- Solaris , OpenSolaris and illumos and systems based on them
Largely POSIX compatible
These operating systems are for the most part compatible but not entirely compliant with the standards:
- BeOS and its open source successor Haiku
- DragonFly BSD
- Linux (see also LSB )
- Nucleus RTOS
- PikeOS ( real-time operating system for embedded systems with optional PSE51 and PSE52 partitions)
- Stratus VOS
POSIX compatibility extensions
These operating systems are usually not POSIX-compatible, but compatibility extensions can be used. POSIX support is usually implemented using translation libraries or an intermediate layer “above” the kernel . Full POSIX conformity is usually not given.
- The Windows NT kernel when using Microsoft Windows Services for UNIX . Support of subsets like the Posix threads is z. B. made possible by "Pthreads-w32".
- eCos - POSIX is part of the standard distribution and is used by many applications.
- Plan 9 : APE - ANSI / POSIX Environment
- Symbian OS with PIPS (PIPS Is POSIX on Symbian)
- AmigaOS / MorphOS with the ixemul.library
- History of Unix
- Microsoft Windows Services for UNIX (Interix)
- Linux Standard Base
- Native POSIX thread library
- TRON project
- ↑ https://publications.opengroup.org/standards/unix/t101
- ↑ POSIX.1 FAQ (English) - Frequently Asked Questions about POSIX® 1003.1 (Version 1.12) at The Open Group ; dated February 2, 2006
- ↑ IEEE Std 1003.1, 2004 Edition (English) - IEEE Standard 1003.1-2004
- ↑ IEEE Std 1003.1-2008
- ↑ IEEE Std 1003.1-2008, 2013 Edition
- ↑ IEEE Std 1003.1-2008, 2016 edition
- ↑ IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) / The Open Group Base Specifications Issue 7, 2018 edition
- ↑ On the POSIX conformity of BSD / OS ( Memento from July 14, 2011 in the Internet Archive ) (in the Internet archive )
- ↑ To the POSIX conformity of FreeBSD
- ↑ Explanation from Microsoft on SFU. Retrieved January 2, 2011 .
- ↑ Pthreads-w32: Open Source POSIX Threads for Win32
- ^ APE - The ANSI / POSIX Environment. plan9.bell-labs.com, accessed July 21, 2009 .
- W. Richard Stevens , Stephen A. Rago: Advanced Programming in the UNIX Environment, Second Edition . Paperback edition. Addison-Wesley, Boston 2008, ISBN 978-0-321-52594-9 .
- Portable Application Standards Committee , this body maintains the standard at the IEEE
- POSIX.1 FAQ Frequently Asked Questions
- Content of POSIX: 2001 in the 2004 edition
- Content of POSIX.1-2017 (with links for older versions: 2008, 2013, 2016)