All Topics  
POSIX

 

   Email Print
   Bookmark   Link






 

POSIX



 
 
POSIX or "Portable Operating System Interface" is the collective name of a family of related standard
Standardization

Standardization is the process of developing and agreeing upon Standard . A standard is a document that establishes uniform engineering or technical specifications, criteria, methods, processes, or practices....
s specified by the IEEE
Institute of Electrical and Electronics Engineers

The Institute of Electrical and Electronics Engineers or IEEE is an international non-profit, professional body for the advancement of technology related to electricity....
 to define the application programming interface
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 (API), along with shell and utilities interfaces for software compatible with variants of the Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
, although the standard can apply to any operating system. Originally, the name stood for IEEE Std 1003.1-1988, which, as the name suggests, was released in 1988.






Discussion
Ask a question about 'POSIX'
Start a new discussion about 'POSIX'
Answer questions from other users
Full Discussion Forum



Encyclopedia


POSIX or "Portable Operating System Interface" is the collective name of a family of related standard
Standardization

Standardization is the process of developing and agreeing upon Standard . A standard is a document that establishes uniform engineering or technical specifications, criteria, methods, processes, or practices....
s specified by the IEEE
Institute of Electrical and Electronics Engineers

The Institute of Electrical and Electronics Engineers or IEEE is an international non-profit, professional body for the advancement of technology related to electricity....
 to define the application programming interface
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 (API), along with shell and utilities interfaces for software compatible with variants of the Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
, although the standard can apply to any operating system. Originally, the name stood for IEEE Std 1003.1-1988, which, as the name suggests, was released in 1988. The family of POSIX standards is formally designated as IEEE 1003 and the international standard name is ISO
International Organization for Standardization

The International Organization for Standardization , widely known as ISO , is an international standard-setting body composed of representatives from various national standards organizations....
/IEC
International Electrotechnical Commission

The International Electrotechnical Commission is a Non-profit organization, non-governmental international standards organization that prepares and publishes International Standards for all electrical, electronic and related technologies ? collectively known as "electrotechnology"....
 9945. The standards emerged from a project that began circa 1985. Formerly known as IEEE-IX, the term POSIX was suggested by Richard Stallman
Richard Stallman

Richard Matthew Stallman , often abbreviated "rms","'Richard Stallman' is just my mundane name; you can call me 'rms'"|last= Stallman...
 in response to an IEEE request for a memorable name.

Overview

The POSIX specifications for user and software interfaces to an operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 are codified in 17 separate documents. The standardized user command line
Command line interface

A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks....
 and scripting interface
Command line interpreter

A command-line interpreter is a computer program that reads lines of text entered by a user and interprets them in the context of a given operating system or programming language....
 were based on the Korn shell
Korn shell

The Korn shell is a Unix shell which was developed by David Korn in the early 1980s. It is backwards-compatible with the Bourne shell and includes many features of the C shell as well, such as a command history, which was inspired by the requests of Bell Labs users....
. Many user-level programs, services, and utilities including awk, echo
Echo (computing)

In computing, echo is a command in DOS, OS/2, Microsoft Windows, Singularity , Unix and Unix-like operating systems that places a String on the computer terminal....
, ed were also standardized, along with required program-level services including basic I/O
Input/output

In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world ? possibly a human, or another information processing system....
 (file
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
, terminal
Computer terminal

A computer terminal is an electronic or electromechanical computer hardware device that is used for entering data into, and displaying data from, a computer or a computing system....
, and network
Computer network

A computer network is a group of interconnected computers. Networks may be classified according to a wide variety of characteristics. This article provides a general overview of some types and categories and also presents the basic components of a network....
) services. POSIX also defines a standard threading
Thread (computer science)

In computer science, a thread of execution is a Fork of a computer program into two or more Concurrency running task s. The implementation of threads and process es differs from one operating system to another, but in most cases, a thread is contained inside a process....
 library API which is supported by most modern operating systems.

Currently POSIX documentation is divided in three parts:
  • POSIX Kernel APIs (which include extensions for POSIX.1, Real-time Services, Threads Interface, Real-time Extensions, Security Interface, Network File Access and Network Process-to-Process Communications)
  • POSIX Commands and Utilities (with User Portability Extensions, Corrections and Extensions, Protection and Control Utilities and Batch System Utilities)
  • POSIX Conformance Testing


A test suite for POSIX accompanies the standard. It is called PCTS or the POSIX Conformance Test Suite.

There is a project instigated by free-rights campaigner Auriélien Bonnel in the late 1980s, for the Single UNIX Specification
Single UNIX Specification

The Single UNIX Specification is the collective name of a family of standards for computer operating systems to qualify for the name "Unix". The SUS is developed and maintained by the Austin Group, based on earlier work by the IEEE and The Open Group....
 standard, which is open, accepts input from anyone, and is freely available on the Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
. Beginning in 1998 a joint working group
Working Group

Working Group can mean:*Working group, an interdisciplinary group of researchers; or*Working Group , kennel club designation for certain purebred dog breeds; or...
, the Austin Group
Austin Group

The Austin Group or the Austin Common Standards Revision Group is a joint technical working group formed to develop and maintain a common revision of POSIX.1 and parts of the Single UNIX Specification....
, began to develop a combined standard that would be known as the Single UNIX Specification Version 3.

Versions

POSIX has gone through a number of versions:

  • POSIX.1, Core Services (incorporates Standard ANSI C
    ANSI C

    ANSI C is the standard published by the American National Standards Institute for the C . Software developers writing in C are encouraged to conform to the requirements in the document, as it encourages easily porting code....
    ) (IEEE Std 1003.1-1988)
    • Process Creation and Control
    • Signals
    • Floating Point Exceptions
    • Segmentation Violations
    • Illegal Instructions
    • Bus Errors
    • Timers
    • File and Directory Operations
    • Pipes
    • C Library (Standard C)
      C standard library

      The C standard library consists of a set of sections of the ISO C standard which describe a collection of header files and library routines used to implement common operations, such as input/output and character string handling, in the C ....
    • I/O
      Input/output

      In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world ? possibly a human, or another information processing system....
       Port Interface and Control


  • POSIX.1b, Real-time extensions (IEEE Std 1003.1b-1993)
    • Priority Scheduling
    • Real-Time Signals
    • Clocks and Timers
    • Semaphores
    • Message Passing
    • Shared Memory
    • Asynch and Synch I/O
    • Memory Locking Interface


  • POSIX.1c, Threads extensions
    POSIX Threads

    POSIX Threads, or Pthreads, is a POSIX standard for thread s. The standard defines an Application programming interface for creating and manipulating threads....
     (IEEE Std 1003.1c-1995)
    • Thread Creation, Control, and Cleanup
    • Thread Scheduling
    • Thread Synchronization
    • Signal Handling


POSIX-oriented operating systems


Depending upon the degree of compliance with the standards, operating systems can be fully or partly POSIX compatible. Certified products can be found at the IEEE's website.

Fully POSIX-compliant

The following operating systems conform (i.e., are 100% compliant) to one or more of the various POSIX standards.

  • A/UX
    A/UX

    A/UX was Apple Computer's implementation of the Unix operating system for some of their Apple Macintosh computers. The later versions of A/UX ran on the Macintosh II, Macintosh Quadra and Macintosh Centris series of machines as well as the Macintosh SE/30....
  • AIX
  • BSD/OS
    BSD/OS

    BSD/OS was a proprietary version of the Berkeley Software Distribution operating system developed by Berkeley Software Design, Inc. .BSD/OS had a reputation for reliability in server roles; the renowned Unix programmer and author W....
  • HP-UX
    HP-UX

    HP-UX 11i is Hewlett-Packard's proprietary software implementation of the Unix operating system, based on UNIX System V . It runs on the HP 9000 PA-RISC-based range of central processing unit and HP Integrity Intel's Itanium-based systems, and was also available for later Apollo/Domain systems....
  • INTEGRITY
    Integrity (operating system)

    INTEGRITY is a real-time operating system produced and marketed by Green Hills Software. It is royalty-free, POSIX-certified, and intended for use in embedded systems needing reliability, availability, and fault tolerance....
  • IRIX
    IRIX

    IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers....
  • LynxOS
    LynxOS

    The LynxOS RTOS is a Unix-like real-time operating system from LynuxWorks . Sometimes known as the Lynx Operating System, LynxOS features full POSIX conformance and, more recently, Linux compatibility....
  • Mac OS X v10.5
    Mac OS X v10.5

    Mac OS X version 10.5 "Leopard" is the sixth Software version of Mac OS X, Apple Inc. desktop and server operating system for Apple Macintosh computers, and the successor to Mac OS X v10.4 "Tiger"....
  • MINIX
    Minix

    MINIX is a Unix-like computer operating system based on a microkernel Software architecture. Andrew S. Tanenbaum wrote the operating system to be used for educational purposes; MINIX also inspired the creation of the Linux kernel....
  • MPE/iX
  • QNX
    QNX

    QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. On September 12, 2007, the source of the QNX kernel was released for non-commercial use....
     (IEEE Std. 1003.13-2003 PSE52; see http://get.posixcertified.ieee.org/cert_prodlist.tpl)
  • RTEMS
    RTEMS

    RTEMS is a free open source real-time operating system designed for embedded systems.The acronym RTEMS initially stood for Real-Time Executive for Missile Systems, then became Real-Time Executive for Military Systems before changing to its current meaning....
     (POSIX 1003.1-2003 Profile 52)
  • Solaris
    Solaris Operating System

    Solaris is a Unix-based operating system introduced by Sun Microsystems in 1992 as the successor to SunOS.Solaris is known for its scalability, especially on SPARC systems, and for originating many innovative features such as DTrace and ZFS....
    • OpenSolaris
      OpenSolaris

      File:Opensolaris-screenshot-2008-05.pngOpenSolaris is an open source operating system based on Sun Microsystems' Solaris . It is also the name of the project initiated by Sun to build a developer and user community around it....
  • UnixWare
    UnixWare

    UnixWare is a Unix operating system maintained by The SCO Group . Unixware is typically deployed as a Server rather than Desktop computer. Binary distributions of UnixWare are available for x86 architecture computers....
  • velOSity
  • VxWorks
    VxWorks

    VxWorks is a real-time operating system operating system made and sold by Wind River Systems of Alameda, California, California, USA.VxWorks is designed for use in embedded systems....
     (IEEE Std. 1003.13-2003 PSE52; see http://get.posixcertified.ieee.org/cert_prodlist.tpl)


Mostly POSIX-compliant

The following are not officially certified as POSIX compatible, but they conform in large part.

  • Nucleus RTOS
    Nucleus RTOS

    Nucleus OS is a real-time operating system and full-featured toolset created by the Embedded system Division of Mentor Graphics for various CPU platforms....
  • RTEMS
    RTEMS

    RTEMS is a free open source real-time operating system designed for embedded systems.The acronym RTEMS initially stood for Real-Time Executive for Missile Systems, then became Real-Time Executive for Military Systems before changing to its current meaning....
     - POSIX API support designed to IEEE Std. 1003.13-2003 PSE52
  • FreeBSD
    FreeBSD

    FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
  • Linux
    Linux

    Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
     (most distributions — see LSB
    Linux Standard Base

    The Linux Standard Base, or LSB, is a joint project by several Linux distributions under the organizational structure of the Linux Foundation to standardize the software system structure used with the Linux operating system....
    )
  • NetBSD
    NetBSD

    NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
  • BeOS
    BeOS

    BeOS was an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing modular I/O bandwidth, pervasive multithreading,...
  • OpenBSD
    OpenBSD

    OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley....
  • Sanos
    Sanos

    For the bus company, motor vehicle industry, see FAS Sanos.Sanos is a minimalistic 32-bit x86 operating system kernel for network server appliances running on standard PC hardware....
  • SkyOS
    SkyOS

    SkyOS is a commercial, Proprietary software, graphical desktop operating system written for the x86 computer architecture. As of January 30, 2009 development has halted....
  • Syllable
    Syllable (operating system)

    Syllable is a Free software and open-source software operating system for Pentium and compatible processors. Its purpose is to create an easy-to-use desktop operating system for the home and small office user....
  • VSTa
    VSTa

    VSTa was an operating system with a microkernel architecture, with all device drivers and file systems residing in userspace mode. It is mostly POSIX compliant, except when POSIX compatibility got in the way of extensibility and modularity....


POSIX for Windows
  • Cygwin
    Cygwin

    Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment....
     enables partial POSIX compliance for certain Microsoft Windows
    Microsoft Windows

    Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
     products.
  • Microsoft POSIX subsystem
    Microsoft POSIX subsystem

    Microsoft POSIX subsystem is one of 3 subsystems of several operating systems from the Windows NT family .Microsoft Windows implements only the first version of the POSIX standardization, namely POSIX.1....
    , an optional Windows subsystem.
  • Microsoft Windows Services for UNIX
    Microsoft Windows Services for UNIX

    Microsoft Windows Services for UNIX is a software package produced by Microsoft which provides a Unix subsystem and other parts of a full Unix environment on Windows NT and its successors....
     3.5 – enables full POSIX compliance for certain Microsoft Windows
    Microsoft Windows

    Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
     products. For Windows NT-based operating systems up to Windows 2000, a POSIX layer was built in to the operating system, and UNIX Services for Windows provided a UNIX-like operating environment. For Windows XP, Windows Services for UNIX must be installed to provide POSIX compatibility. The UNIX Subsystem is built in to the Enterprise and Ultimate editions of Windows Vista, but cannot be added separately to the other editions.
  • UWIN
    UWIN

    UWIN is a computer Computer software package created by David Korn . It lets Computer program written for the operating system Unix be built and run on a different operating system, Microsoft Microsoft Windows with few, if any, changes needed....
     from the AT&T Research implements a POSIX layer on top of the Win32 APIs.


Compliant via compatibility feature
The following are not officially certified as POSIX compatible, but they conform in large part to the standards by implementing POSIX support via some sort of compatibility feature, usually translation libraries, or a layer atop the kernel. Without these features, they are usually noncompliant.

  • eCos
    ECos

    eCos is an open source, royalty-free, real-time operating system intended for embedded systems and applications which need only one Process with Thread ....
     POSIX is part of standard distribution, and used by many applications. 'external links' section below has more information.
  • Plan 9 from Bell Labs
    Plan 9 from Bell Labs

    Plan 9 from Bell Labs is a distributed operating system, primarily used for research. It was developed as the research successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002....
     APE - ANSI/POSIX Environment
  • Symbian OS with PIPS (PIPS Is POSIX on Symbian)
  • OpenVMS
    OpenVMS

    OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is the name of a high-end computer server operating system that runs on the VAX and DEC Alpha families of computers, developed by Digital Equipment Corporation of Maynard, Massachusetts, Massachusetts , and most recently on Hewlett-Packard systems built around the In...
     (through optional POSIX package)
  • Windows NT kernel when using Microsoft SFU 3.5 or SUA
    • Windows 2000 Server or Professional with Service Pack 3 or later
      Windows 2000

      Windows 2000 is a line of operating systems produced by Microsoft for use on business desktops, Laptop, and Server . Released on 17 February, 2000, it was the successor to Windows NT 4.0, and is the final release of Microsoft Windows to display the "Windows NT" designation....
      . To be POSIX compliant, one must activate optional features of Windows NT and Windows 2000 Server.
    • Windows XP Professional with Service Pack 1 or later
      Windows XP

      Windows XP is a line of operating systems produced by Microsoft for use on personal computers, including home and business desktops, laptop, and media centers....
    • Windows Server 2003
      Windows Server 2003

      Windows Server 2003 is a Server operating system produced by Microsoft. Introduced on 24 April 2003 as the successor to Windows 2000 Server, it is considered by Microsoft to be the cornerstone of its Windows Server System line of business server products....
    • Windows Vista
      Windows Vista

      Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
  • z/OS
    Z/OS

    z/OS is a 64-bit operating system for mainframe computers, created by IBM. It is the successor to OS/390, which in turn followed MVS and combined a number of formerly separate, related products....


Industrial resources

  • International Journal of IT Standards and Standardization Research, IGI Global
    IGI Global

    IGI Global is a Private company international publishing company located in Hershey, Pennsylvania. It is a publisher of journals and books on information science and IT management....


See also

  • POSIX signal
  • POSIX Threads
    POSIX Threads

    POSIX Threads, or Pthreads, is a POSIX standard for thread s. The standard defines an Application programming interface for creating and manipulating threads....
  • TRON Project
    TRON Project

    TRON is an open real-time operating system kernel design, and is an acronym for "The Real-time Operating system Nucleus". The project was started by Ken Sakamura of the University of Tokyo in 1984....
     alternative OS standard to POSIX
  • Interix
    Interix

    Interix is the name of an optional, full-featured POSIX and Unix environment subsystem for Microsoft's Windows NT-based operating systems. It is a component of the Microsoft Windows Services for UNIX release 3.0 and 3.5 ....
     a full-featured POSIX and Unix environment subsystem for Microsoft's Windows NT-based operating systems
  • C POSIX library
    C POSIX library

    The C POSIX library is a language-independent library that adds functions specific to POSIX systems. POSIX specifies a number of routines that should be available over and above those in the C standard library proper....
  • BIOS
    BIOS

    In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
  • Real-time operating system
    Real-time operating system

    A Real-Time Operating System is a Computer multitasking operating system intended for real-time computing applications. Such applications include embedded systems , industrial robots, spacecraft, industrial control , and scientific research equipment....


External links