UNLIMITED FREE ACCESS TO THE WORLD'S BEST IDEAS

close
Already an Engineering360 user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your Engineering360 Experience

close
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

CSA - CAN/CSA-ISO/IEC/IEEE 9945-10

Information technology - Portable Operating System Interface (POSIX®) Base Specifications, Issue 7

inactive
Organization: CSA
Publication Date: 1 December 2010
Status: inactive
Page Count: 3,892
ICS Code (Languages used in information technology): 35.060
scope:

Purpose

Several principles guided the development of POSIX.1-2008:

• Application-Oriented - The basic goal was to promote portability of application programs across UNIX system environments by developing a clear, consistent, and unambiguous standard for the interface • specification of a portable operating system based on the UNIX system documentation. POSIX.1-2008 codifies the common, existing definition of the UNIX system.

• Interface, Not Implementation - POSIX.1-2008 defines an interface, not an implementation. No distinction is made between library functions and system calls; both are referred to as functions. No details of the implementation of any function are given (although historical practice is sometimes indicated in the RATIONALE section). Symbolic names are given for constants (such as signals and error numbers) rather than numbers.

• Source, Not Object, Portability - POSIX.1-2008 has been written so that a program written and translated for execution on one conforming implementation may also be translated for execution on another conforming implementation. POSIX.1-2008 does not guarantee that executable (object or binary) code will execute under a different conforming implementation than that for which it was translated, even if the underlying hardware is identical.

• The C Language - The system interfaces and header definitions are written in terms of the standard C language as specified in the ISO C standard.

• No Superuser, No System Administration - There was no intention to specify all aspects of an operating system. System administration facilities and functions are excluded from this standard, and functions usable only by the superuser have not been included. Still, an implementation of the standard interface may also implement features not in POSIX.1-2008. POSIX.1-2008 is also not concerned with hardware constraints or system maintenance.

• Minimal Interface, Minimally Defined - In keeping with the historical design principles of the UNIX system, the mandatory core facilities of POSIX.1-2008 have been kept as minimal as possible. Additional capabilities have been added as optional extensions.

• Broadly Implementable - The developers of POSIX.1-2008 endeavored to make all specified functions implementable across a wide range of existing and potential systems, including:

- All of the current major systems that are ultimately derived from the original UNIX system code (Version 7 or later)

- Compatible systems that are not derived from the original UNIX system code

- Emulations hosted on entirely different operating systems

- Networked systems

- Distributed systems

- Systems running on a broad range of hardware

No direct references to this goal appear in POSIX.1-2008, but some results of it are mentioned in the Rationale (Informative) volume.

• Minimal Changes to Historical Implementations - When the original version - IEEE Std 1003.1-1988 - was published, there were no known historical implementations that did not have to change. However, there was a broad consensus on a set of functions, types, definitions, and concepts that formed an interface that was common to most historical implementations.

The adoption of the 1988 and 1990 IEEE system interface standards, the 1992 IEEE shell and utilities standard, the various Open Group (formerly X/Open) specifications, and IEEE Std 1003.1-2001 and its technical corrigenda have consolidated this consensus, and this version reflects the significantly increased level of consensus arrived at since the original versions. The authors of the original versions tried, as much as possible, to follow the principles below when creating new specifications:

- By standardizing an interface like one in an historical implementation; for example, directories

- By specifying an interface that is readily implementable in terms of, and backwards-compatible with, historical implementations, such as the extended tar format defined in the pax utility

- By specifying an interface that, when added to an historical implementation, will not conflict with it; for example, the sigaction() function

POSIX.1-2008 is specifically not a codification of a particular vendor's product.

It should be noted that implementations will have different kinds of extensions. Some will reflect "historical usage" and will be preserved for execution of pre-existing applications. These functions should be considered "obsolescent" and the standard functions used for new applications. Some extensions will represent functions beyond the scope of POSIX.1-2008. These need to be used with careful management to be able to adapt to future extensions of POSIX.1-2008 and/or port to implementations that provide these services in a different manner.

• Minimal Changes to Existing Application Code - A goal of POSIX.1-2008 was to minimize additional work for application developers. However, because every known historical implementation will have to change at least slightly to conform, some applications will have to change.

Document History

December 1, 2010
Information technology — Portable Operating System Interface (POSIX) Base Specifications, Issue 7
POSIX.1-2008 defines a standard operating system interface and environment, including a command interpreter (or ‘‘shell’’), and common utility programs to support applications portability at the...
December 1, 2010
Information technology - Portable Operating System Interface (POSIX) Base Specifications, Issue 7
This Technical Corrigendum addresses problems discovered since the approval of IEEE Std 1003.1TM -2008.
December 1, 2010
Information technology - Portable Operating System Interface (POSIX) Base Specifications, Issue 7
POSIX.1-2008 defines a standard operating system interface and environment, including a command interpreter (or ‘‘shell''), and common utility programs to support applications portability at the...
CAN/CSA-ISO/IEC/IEEE 9945-10
December 1, 2010
Information technology - Portable Operating System Interface (POSIX®) Base Specifications, Issue 7
Purpose Several principles guided the development of POSIX.1-2008: • Application-Oriented – The basic goal was to promote portability of application programs across UNIX system environments by...

References

Advertisement