POSIX

POSIX (forkortelse for Portable Operating System Interface) er et sett med standarder som definerer et operativsystemuavhengig programmeringsgrensesnitt.

Før 1997 ble POSIX utviklet av IEEE og Open Group, og standardisert av ISO/IEC/IEEE 9945. I 1997 ble arbeidet overtatt av Austin Group, en arbeidsgruppe som er tilknyttet de nevnte standardorganisasjoner. Austin Group publiserer i dag nye revisjoner som en del av Single UNIX Specification, før de godkjennes av ISO som en POSIX-revisjon.

Første versjon ble publisert 1. januar 1988, og den foreløbig siste versjonen ble publisert 31. januar 2018.

POSIX er et programkodelag mellom operativsystemet og applikasjonsprogrammene, som lar programmene kalle opp POSIX-funksjoner i stedet for operativsystemspesifikke funksjoner. Dette medfører at et applikasjonsprogram kan benyttes på flere forskjellige operativsystem, ved å rekompilere det. POSIX ble utviklet for UNIX, men finnes også for flere andre operativsystem.

Bakgrunn

Bakgrunnen for POSIX var de såkalte Unix-krigene som pågikk fra 1983 til 1993, hvor ulike leverandører av Unix kjempet for å etablere sin egen Unix-avart som en industristandard. POSIX var i så måte det første forsøket på å standardisere Unix, men standarden gjelder også for andre operativsystemer.

På midten av 1980-tallet, fantes det tre grunnleggende avarter av Unix: AT&T's UNIX System III (som var basis for Microsoft's Xenix, PC/IX som ble støttet av IBM og flere), AT&T's UNIX System V, som prøvde å etablere en ny Unix-standard, og Berkeley Software Distribution (BSD). Alle tre var utgått fra forsknings-Unix, men hadde divergert betraktelig. I tillegg var det også innbyrdes forskjeller på ulike varianter av Unix innad i disse tre «familiene».

Navn 
Opprinnelig refererte navnet POSIX til IEEE Std 1003.1-1988, som ble publisert 1. januar 1988. POSIX-standardene er formelt betegnet som IEEE 1003 og det internasjonale standardnavnet er ISO/IEC 9945.

Standardene utgikk fra et prosjekt som begynte omkring 1985. GNU-prosjektets leder Richard Stallman, som var medlem av IEEE Computer Society's Portable Applications Standards Committee (PASC) på 1980-tallet, foreslo navnet POSIX (Portable Operating System Interface) overfor PASC i stedet for det tidligere navnet IEEE-IX. Komitéen fant det lettere å uttale og huske, og adopterte derfor navnet.

Egenskaper og bruksområder

Versjoner 
POSIX-standarden har blitt revidert og utvidet flere ganger.

Før 1997 ble POSIX utviklet av IEEE og Open Group, og standardisert av ISO/IEC/IEEE 9945. I 1997 ble arbeidet overtatt av Austin Group, en arbeidsgruppe som er tilknyttet de nevnte standardorganisasjoner. Austin Group publiserer i dag nye revisjoner som en del av Single UNIX Specification, før de godkjennes av ISO som en POSIX-revisjon.

POSIX.1 (IEEE Std 1003.1-1988)
 Tjenester av operativsystemkjernen, publisert 1. januar 1988
 oppretting og kontroll av prosesser
 signaler
 behandling av flytekommafeil
 behandling av minnesegmentsfeil
 behandling av illegale instruksjoner
 behandling av bussfeil
 timerbehandling
 datafil- og katalogbehandling
 Pipeline
 C-standardbiblioteket slik det er spesifisert i ANSI C
 I/O og port-kontroll
 Prosesstriggere

POSIX.1b (IEEE Std 1003.1b-1993)
 Sanntidsoperativsystemer, publisert 1. januar 1993
 prioritet av skedulering
 sanntidssignaler
 klokker og tellere
 semaforer
 meldingsoverføring
 delt minne
 asynkron og synkron kommunikasjon
 grensensitt til minnelås

POSIX.1c (IEEE Std 1003.1c-1995)
 Tråder, publisert 1. januar 1995 
 Oppretting, kontroll og sletting av tråder
 trådallokering
 trådsynkronisering
 signalbehandling

POSIX.2 (IEEE Std 1003.2-1992)
 Unix-skall og systemverktøy, publisert 1. januar 1992
 Unix-skall, kommandotolker og kommandolinjer
 systemverktøy

POSIX.1-2001 (IEEE Std 1003.1-2001)
 Identisk med Single UNIX Specification version 3, publisert 6. desember 2001
 Basedefinisjoner, utgave 6
 Systemgrensesnitt og hedere, utgave 6
 Kommandoer og systemverktøy, utgave 6

POSIX.1-2004 (IEEE Std 1003.1-2004) 
 En mindre oppdatering, publisert 1. januar 2004
 To mindre oppdateringer eller errata, referert til som Technical Corrigenda (TC)

POSIX.1-2008 (IEEE Std 1003.1-2008)
 Identisk med Single UNIX Specification version 4, publisert 1. desember 2008
 Basedefinisjoner, utgave 7
 Systemgrensesnitt og hedere, utgave 7
 Kommandoer og systemverktøy, utgave 7

POSIX.1-2008 (IEEE Std 1003.1-2008), 2013-utgaven
 Identisk med Single UNIX Specification version 4, 2013-utgaven, publisert 19. april 2013
 The Technical Corrigendum 1, og merkenavnet UNIX V7

POSIX.1-2008 (IEEE Std 1003.1-2008), 2016-utgaven
 Identisk med Single UNIX Specification version 4, 2016-utgaven, publisert 30. september 2016
 The Technical Corrigendum 2

POSIX.1-2008 (IEEE Std 1003.1-2008), 2017-utgaven
 Mindre oppdatering, publisert 31. januar 2018

Referanser

Eksterne lenker 
 POSIX - Austin Joint Working Group 
 The Open Group Base Specifications 

 
IT-relaterte introduksjoner i 1988
Hendelser i 1988
Hendelser i 1992
Hendelser i 1993
Hendelser i 1995
Hendelser i 2001
Hendelser i 2004
Hendelser i 2008
Hendelser i 2013
Hendelser i 2016
Hendelser i 2018