POSIX is a set of standards that define how computer programs interact with an operating system. Applications conforming to these standards can be easily ported to other platforms. The standards have been adopted internationally and are required by some government, defense, and aerospace customers. POSIX aims to provide source code portability, making it more efficient to reuse existing code than to recreate programs from scratch. The family of standards has different levels of support, and many specifications are based on UNIX operating systems.
The Portable Operating System Interface for Computing Environments (POSIX®) is a set of standards and specifications that define the ways in which computer programs interact with an operating system. Applications that conform to these standards can more easily be ported to other platforms that also support the specification. These specifications have been officially adopted internationally and have become required by some special customers in the government, defense and aerospace industries. There are several levels of conformance to the family of standards, which have been greatly influenced by the design of the UNIX® platform.
There have been many attempts to alleviate the difficulties of developing software for more than one computer platform. Differences in operating system design, available programming languages, and hardware create compatibility issues that are not easily overcome. There are many different opinions on how best to address the challenges of cross-platform computing. POSIX® takes a rules-based approach that governs how applications interact with their underlying platform, as well as requiring the inclusion of some utilities. These rules apply to both applications and operating systems and provide a standard way for the two to communicate.
The goal of POSIX® is to provide something known as source code portability. Source code, the human-readable version of a computer program used to build applications, is “compiled” into machine code that can be understood by the microprocessors inside all computers. Different processors contain different types of machine code; this means that a program must not be written with just an operating system in mind, but with the particular hardware on which the program will run. Source code portability means that a program’s source code can be compiled for different platforms with little or no effort, making it more efficient to reuse existing code than to recreate the program from scratch.
Many large organizations that purchase a wide variety of hardware and software have come to view the POSIX® family of standards as an important or even essential feature of the products they purchase. The Institute of Electrical and Electronics Engineers (IEEE), the International Organization for Standardization (ISO), and the International Electrotechnical Commission (IEC) have approved POSIX® standards as IEEE 1003 and ISO/IEC 9945. This international adoption has made the standards popular with government customers. Some military and aerospace customers require standards to make it easier for applications to adapt to the specialized computing platforms used in those fields. The US Navy, for example, has incorporated the standards into its Open Architecture Computing Environment, an initiative that aims to maintain interoperability in software that powers warships, unmanned aerial vehicles and submarines.
POSIX® is a family of related standards rather than a single specification. Some are well supported while some are not. There are also different levels of support, with “compliant” software products closely adhering to the standards and “compliant” products that support only some of them. Many of the POSIX® specifications were based on UNIX® operating systems, so a number of UNIX® and UNIX®-like platforms support the standards out of the box. Some other platforms support IEEE 1003 through the use of additional software.
Protect your devices with Threat Protection by NordVPN