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

### POSIX.1-2024
IEEE Std 1003.1-2024 - IEEE Standard for Information Technology—Portable Operating System Interface (POSIX(R)) Base Specifications, Issue 8 ble publisert den 14. juni 2024. Its contents are available on the web.

## Referanser


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