POSIX

POSIX () on käyttöjärjestelmille kehitetty standardi-/määrittelykokonaisuus. Standardin IEEE-versio on IEEE 1003.1-2001, jonka kansainvälinen ISO-standardi on ISO/IEC 9945-1.

Nimeä "POSIX" on käytetty aluksi vain IEEE-standardin IEEE Std 1003.1-1988 synonyyminä, jonka jälkeen ilmeni suositellumpi termi POSIX.1. IEEE POSIX 1003.2 (POSIX.2) on ollut erillinen standardi, joka on sittemmin liitetty POSIX 1003.1 -standardiin.
Standardi ratifioitiin vuonna 1988 ja laajennettiin vuonna 1990 kansainväliseksi ISO-standardiksi. Yhdysvaltalaisella NIST:llä oli myös FIPS Pub 151-1 -määrittely.

POSIX sai alkunsa noin vuonna 1985 alkaneesta projektista, jossa tarkoituksena oli yhtenäistää Unix-käyttöjärjestelmiä ja niiden ohjelmistoja käyttäjien ja ohjelmoijien kannalta helpompaan suuntaan.
Standardi määrittää Unix-yhteensopivan käyttöjärjestelmän järjestelmäkutsujen rajanpinnan ja lisäksi mm. käyttäjätason ohjelmia ja niiden toimintaa. Nimen POSIX ehdotti Richard Stallman.

Single UNIX Specification perustuu POSIX-määrittelyyn mutta laajentaa ja päivittää sitä.

Yhteensopivuus 
Vaikka POSIXia käytetään lähinnä Unix-johdannaisissa ja Unixin kaltaisissa käyttöjärjestelmissä, myös muut käyttöjärjestelmät voivat toteuttaa standardin.

QNX:ssä on POSIX-tuki. Linux-jakeluille tarkoitettu Linux Standard Base -standardi sisältää POSIX-tuen. OS X on POSIX-yhteensopiva.

z/OS sisältää POSIX-yhteensopivan tilan.
OpenVMS-järjestelmässä on POSIX-alijärjestelmä. 
VxWorks on POSIX 1003.13-2003 -standardin mukainen.
Windows NT toteutti standardista käyttöjärjestelmän rajapinnan Windows 2000:een saakka: POSIX-tuki poistettiin Windows XP:ssä ja Windows Server 2003:ssa. Haiku sisältää POSIX-yhteensopivuuskerroksen.

Useita ohjelmistoja on kehitetty POSIX- tai Unix-yhteensopivuuden tuomiseen erilaisille alustoille:
 Cygwin-ohjelmisto Windowsille.
 emx+gcc-ohjelmisto DOSille ja OS/2:lle. 
 Amigalle tehty ixemul-kirjasto toteuttaa BSD-yhteensopivan ytimen Amigan käyttöjärjestelmän päälle.

Osat 
Ennen vuotta 2001 standardi koostui useista osista:
 POSIX.1: Core Services (sisältää standardin ANSI C) (IEEE Std 1003.1-1988)
 IEEE Std 1003.1b-1993 Realtime Extension
 IEEE Std 1003.1c-1995 Threads
 IEEE Std 1003.1d-1999 Additional Realtime Extensions
 IEEE Std 1003.1j-2000 Advanced Realtime Extensions
 IEEE Std 1003.1q-2000 Tracing
 POSIX.2: Shell and Utilities (IEEE Std 1003.2-1992)

Useat osat on myöhemmin liitetty osaksi IEEE Std 1003.1-2001 standardia.
Standardia on myöhemmin päivitetty ISO C -standardin mukaiseksi, IPv6-tuelle ja muita muutoksia.

Katso myös 
 FIPS-151

Lähteet

Aiheesta muualla
 IEEE, POSIX-standardi
 POSIX.1-2017 The Open Group -sivustolla 
 The Use of POSIX in Real-time Systems, Assessing its Effectiveness and Performance (PDF) 

ISO
IEEE-standardit