Wat is POSIX?
De draagbare besturingssysteeminterface voor computeromgevingen (POSIX®) is een set standaarden en specificaties die bepalen hoe computerprogramma's kunnen samenwerken met een besturingssysteem. Toepassingen die aan deze normen voldoen, kunnen gemakkelijker worden overgezet naar andere platforms die ook de specificaties ondersteunen. Deze specificaties zijn officieel internationaal goedgekeurd en zijn verplicht geworden door enkele speciale klanten op het gebied van de overheid, defensie en ruimtevaart. Er zijn verschillende niveaus van conformiteit met de familie van normen, die sterk werden beïnvloed door het ontwerp van het UNIX®-platform.
Er zijn veel pogingen gedaan om de problemen van het ontwikkelen van software voor meer dan één computerplatform te verlichten. Verschillen in het ontwerp van het besturingssysteem, beschikbare programmeertalen en hardware zorgen voor compatibiliteitsproblemen die niet gemakkelijk kunnen worden opgelost. Er zijn veel verschillende meningen over hoe de uitdagingen van cross-platform computing het beste kunnen worden aangepakt. POSIX® hanteert een op regels gebaseerde aanpak die bepaalt hoe applicaties omgaan met hun onderliggende platform, en verplicht een aantal hulpprogramma's op te nemen. Deze regels zijn van toepassing op zowel applicaties als besturingssystemen en bieden een standaard manier voor communicatie tussen beide.
Het doel van POSIX® is om iets te bieden dat bekend staat als broncodeportabiliteit. Broncode, de voor mensen leesbare versie van een computerprogramma dat wordt gebruikt om applicaties te bouwen, wordt "gecompileerd" in machinecode die kan worden begrepen door de microprocessors in alle computers. Verschillende processors bevatten verschillende soorten machinecode; dit betekent dat een programma niet alleen moet worden geschreven met een besturingssysteem in gedachten, maar met de specifieke hardware waarop het programma zal worden uitgevoerd. Broncodeportabiliteit betekent dat de broncode van een programma met weinig of geen moeite voor verschillende platforms kan worden gecompileerd, waardoor het efficiënter wordt om bestaande code opnieuw te gebruiken dan het programma helemaal opnieuw te maken.
Veel grote organisaties die een grote verscheidenheid aan hardware en software aanschaffen, zien de POSIX®-normenreeks als een belangrijke of zelfs essentiële functie voor producten die ze kopen. Het Institute of Electrical and Electronics Engineers (IEEE), International Organization for Standardization (ISO) en International Electrotechnical Commission (IEC) hebben de POSIX®-normen goedgekeurd als IEEE 1003 en ISO / IEC 9945. Deze internationale goedkeuring heeft de normen populair gemaakt bij overheidsklanten. Sommige militaire en ruimtevaartklanten hebben de normen nodig om het gemakkelijker te maken om applicaties aan te passen aan gespecialiseerde computerplatforms die op die gebieden worden gebruikt. De Amerikaanse marine heeft de normen bijvoorbeeld opgenomen in haar Open Architecture Computing Environment, een initiatief dat tot doel heeft de interoperabiliteit te handhaven in de software die oorlogsschepen, onbemande luchtvaartuigen en duikboten aandrijft.
POSIX® is een familie van gerelateerde standaarden in plaats van een enkele specificatie. Sommige worden goed ondersteund, andere niet. Er zijn ook verschillende ondersteuningsniveaus, met "conforme" softwareproducten die strikt aan de normen voldoen en "conforme" producten die slechts enkele ondersteunen. Veel van de POSIX®-specificaties waren gebaseerd op de UNIX®-besturingssystemen, dus een aantal UNIX®- en UNIX®-achtige platforms ondersteunen standaard de standaarden. Sommige andere platforms ondersteunen IEEE 1003 door het gebruik van aanvullende software.