Vad är POSIX?
Det bärbara operativsystemgränssnittet för datormiljöer (POSIX®) är en uppsättning standarder och specifikationer som definierar sätt för datorprogram att interagera med ett operativsystem. Program som överensstämmer med dessa standarder kan lättare skickas till andra plattformar som också stöder specifikationerna. Dessa specifikationer har officiellt antagits internationellt och har blivit obligatoriska av vissa specialkunder inom regerings-, försvars- och flygfält. Det finns olika nivåer av överensstämmelse med standardfamiljen som påverkades starkt av designen av UNIX®-plattformen.
Det har gjorts många försök att underlätta svårigheterna med att utveckla programvara för mer än en datorplattform. Skillnader i operativsystemdesign, tillgängliga programspråk och hårdvara skapar kompatibilitetsproblem som inte lätt kan övervinnas. Det finns många olika åsikter om hur man bäst kan hantera utmaningarna med plattformsberäkning. POSIX® tar ett reglerbaserat tillvägagångssätt som reglerar hur applikationer interagerar med sin underliggande plattform, samt föreskriver att några få verktyg ska inkluderas. Dessa regler gäller både applikationer och operativsystem, och tillhandahåller ett vanligt sätt för kommunikation att ske mellan de två.
Målet med POSIX® är att tillhandahålla något som kallas källkodportabilitet. Källkod, den mänskliga läsbara versionen av ett datorprogram som används för att bygga applikationer, "kompileras" till maskinkod som kan förstås av mikroprocessorerna i alla datorer. Olika processorer innehåller olika typer av maskinkod; detta innebär att ett program inte bara måste skrivas med ett operativsystem i åtanke, utan med den speciella hårdvara som programmet ska köras på. Källkodportabilitet innebär att programmets källkod kan kompileras för olika plattformar med liten eller ingen ansträngning, vilket gör det mer effektivt att återanvända befintlig kod än att återskapa programmet från grunden.
Många stora organisationer som köper ett brett utbud av hårdvara och mjukvara har kommit att se POSIX®-familj av standarder som en viktig eller till och med viktig funktion för produkter de köper. Institute of Electrical and Electronics Engineers (IEEE), International Organization for Standardization (ISO) och International Electrotechnical Commission (IEC) har godkänt POSIX®-standarderna som IEEE 1003 och ISO / IEC 9945. Detta internationella antagande har gjort standarderna populära med statliga kunder. Vissa militära och flyg- och rymdkunder kräver standarderna för att göra det lättare att anpassa applikationer till specialiserade datorplattformar som används inom dessa områden. Den amerikanska marinen har till exempel införlivat standarderna i sin Open Architecture Computing Environment, ett initiativ som syftar till att bibehålla interoperabilitet i programvaran som driver krigsfartyg, obemannade flygfordon och undervattensbilar.
POSIX® är en familj av relaterade standarder snarare än en enda specifikation. Vissa stöds väl medan andra inte. Det finns också olika nivåer av support, med ”överensstämmande” programvaruprodukter som strikt följer standarderna och ”kompatibla” produkter som bara stöder några av dem. Många av POSIX®-specifikationerna baserade sig på UNIX®-operativsystem, så ett antal UNIX®- och UNIX®-liknande plattformar stöder standarderna ur boxen. Vissa andra plattformar stöder IEEE 1003 genom användning av ytterligare programvara.