What is POSIX 1

Portable Operating System Interface

POSIX
ISO / IEC / IEEE 9945
Basic data

developerPortable Application Standards Committee
Current versionIEEE Std 1003.1-2008
operating systemOperating system independent
categoryProgramming interface
German speakingNo
PASC Committee

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 name is (The Open Group Technical Standard) Base Specifications. POSIX forms the basis of the Single UNIX Specification.[1]

development

Today's standard is a further development from a project from 1985. The term POSIX was proposed by Richard Stallman and complies with the IEEE's request for a memorable name;[2] 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 revised by the 2001 version IEEE Std 1003.1-2001 replaced by the IEEE and Open Group. 2004 was a slightly corrected version IEEE Std 1003.1, 2004 Edition[3] released. A revision took place in 2008,[4] received this in 2013[5] and 2016[6] a new edition. Another revision took place in 2017.[7]

specification

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 utilities and command line interpreters.
Explanations
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 in full or only in part. The (mostly minimal) deviations from the standard nowadays are primarily a conscious decision in favor of other compatibility and less a lack of feasibility.

Fully POSIX compliant

The following operating systems are fully compatible with the entire standard and are therefore POSIX-compliant:

Largely POSIX compatible

These operating systems are for the most part compatible but not entirely compliant with the standards:

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.[10] Support for subsets like the Posix threads is z. B. through "Pthreads-w32"[11] enables.
  • eCos - POSIX is part of the standard distribution and is used by many applications.
  • Plan 9: APE - ANSI / POSIX Environment[12]
  • Symbian OS with PIPS (PIPS Is POSIX on Symbian)
  • AmigaOS / MorphOS with the ixemul.library

See also

Individual evidence

  1. ↑ https: //publications.opengroup.org/standards/unix/t101
  2. ↑ POSIX.1 FAQ (English) - Frequently Asked Questions about POSIX® 1003.1 (Version 1.12) at The Open Group; dated February 2, 2006
  3. ↑ IEEE Std 1003.1, 2004 Edition (English) - IEEE Standard 1003.1-2004
  4. ↑ IEEE Std 1003.1-2008
  5. ↑ IEEE Std 1003.1-2008, 2013 Edition
  6. ↑ IEEE Std 1003.1-2008, 2016 edition
  7. ↑ IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) / The Open Group Base Specifications Issue 7, 2018 edition
  8. ↑ On the POSIX conformity of BSD / OS (Memento from July 14, 2011 in Internet Archive) (in the internet archive)
  9. ↑ On the POSIX conformity of FreeBSD
  10. Microsoft explanation of SFU. Retrieved January 2, 2011.
  11. ↑ Pthreads-w32: Open Source POSIX Threads for Win32
  12. APE - The ANSI / POSIX Environment. plan9.bell-labs.com, accessed July 21, 2009.

literature

  • 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.

Web links