Kaj je POSIX?

Vmesnik prenosnega operacijskega sistema za računalniška okolja (POSIX®) je niz standardov in specifikacij, ki opredeljujejo načine interakcije računalniških programov z operacijskim sistemom. Aplikacije, ki ustrezajo tem standardom, je mogoče lažje prenesti na druge platforme, ki prav tako podpirajo specifikacije. Te specifikacije so bile uradno sprejete na mednarodni ravni in so jih zahtevale nekatere posebne stranke na vladnem, obrambnem in letalskem področju. Obstajajo različne ravni skladnosti z družino standardov, na katere je močno vplivala zasnova platforme UNIX®.

Bilo je veliko poskusov, da bi olajšali težave pri razvoju programske opreme za več kot eno računalniško platformo. Razlike v zasnovi operacijskega sistema, razpoložljivih programskih jezikih in strojni opremi povzročajo težave z združljivostjo, ki jih ni enostavno premagati. Obstaja veliko različnih mnenj o tem, kako se najbolje soočiti z izzivi večplatformskega računalništva. POSIX® uporablja pristop, ki temelji na pravilih, ki ureja, kako aplikacije delujejo z njihovo osnovno platformo, ter zahteva vključitev nekaj pripomočkov. Ta pravila veljajo za aplikacije in operacijske sisteme in zagotavljajo standardni način komunikacije med obema.

Cilj POSIX® je zagotoviti nekaj, kar je znano kot prenosljivost izvorne kode. Izvorna koda, človeku berljiva različica računalniškega programa, ki se uporablja za gradnjo aplikacij, je “prevedena” v strojno kodo, ki jo lahko razumejo mikroprocesorji v vseh računalnikih. Različni procesorji vsebujejo različne vrste strojne kode; to pomeni, da program ne sme biti napisan z mislijo na operacijski sistem, ampak s posebno strojno opremo, na kateri se bo program izvajal. Prenosljivost izvorne kode pomeni, da je izvorno kodo programa mogoče prevesti za različne platforme z malo ali brez truda, zaradi česar je učinkovitejša ponovna uporaba obstoječe kode kot ponovno ustvarjanje programa iz nič.

Številne velike organizacije, ki kupujejo široko paleto strojne in programske opreme, so začele gledati na družino standardov POSIX® kot na pomembno ali celo bistveno lastnost izdelkov, ki jih kupijo. Inštitut inženirjev elektrotehnike in elektronike (IEEE), Mednarodna organizacija za standardizacijo (ISO) in Mednarodna elektrotehnična komisija (IEC) so potrdili standarde POSIX® kot IEEE 1003 in ISO/IEC 9945. Zaradi tega mednarodnega sprejetja so standardi postali priljubljeni pri državne stranke. Nekateri vojaški in vesoljski kupci zahtevajo standarde, da bi olajšali prilagajanje aplikacij specializiranim računalniškim platformam, ki se uporabljajo na teh področjih. Ameriška mornarica je na primer vključila standarde v svoje računalniško okolje z odprto arhitekturo, pobudo, katere cilj je ohraniti interoperabilnost v programski opremi, ki poganja vojaške ladje, letala brez posadke in podmornice.

POSIX® je družina sorodnih standardov in ne ena sama specifikacija. Nekateri so dobro podprti, drugi pa ne. Obstajajo tudi različne ravni podpore, pri čemer “skladni” programski izdelki strogo upoštevajo standarde in “skladni” izdelki podpirajo le nekatere od njih. Številne specifikacije POSIX® so temeljile na operacijskih sistemih UNIX®, zato številne platforme, podobne UNIX® in UNIX®, podpirajo standarde iz škatle. Nekatere druge platforme podpirajo IEEE 1003 z uporabo dodatne programske opreme.