Standardele au apărut dintr-un project care a început aproximativ în 1985. Richard Stallman a sugerat numele POSIX către IEEE înlocul fostului IEEE-IX. Primele patru litere formează acronimul pentru interfața sistemelor de operare portabile, iar X exprimă UNIX. IEEE l-a găsit pronunțabil și memorabil mult mai ușor, și de asta și l-a adoptat.[2][4]
Organizare
Standardul POSIX este alcătuit din patru secțiuni principale:
Definiții de bază: listă de definiții și convenții de bază utilizate în caietul de sarcini și o listă de fișiere cu antet C care trebuie furnizate de un sistem compatibil standard.
Shell și utilități: descriere a utilităților și a shell-ului, standarde pentru expresii regulate.
Interfețe de sistem: listă de utilitare și interpreți de linie de comandă.
Argumente: explicație a principiilor utilizate în standard.
Alte utilite precum awk, vi sau echo fac, de asemenea, parte din standardul POSIX. Printre altele, funcțiile C oferă intrare și ieșire (pentru fișiere, terminale și servicii de rețea) și stabilesc controlul asupra proceselor, precum și administrarea utilizatorilor și a grupului.
POSIX.1-2017:IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008)
Majoritatea derivatelor Unix aderă în mare măsură la standardele specificate în IEEE1003.1 (1990) și IEEE1003.2 (1992). [5]
Controverse
Blocuri 512 vs 1024 byte
POSIX mandatează mărimi de blocuri implicite de 512 byte pentru utilitele df și du, reflectând mărimea tipică a blocurilor pe discuri. Când Richard Stallman și echipa GNU implementau POSIX pentru sistemul de operare GNU, ei au obiectat la aceasta din motiv că majoritatea oamenilor gândesc în termeni de blocuri de 1024 byte (sau 1 KiB).
Sisteme de operare orientate POSIX
În funcție de gradul de conformitate cu standardele, sistemele de operare se pot clasifica în complet sau parțial compatibile cu POSIX. Produsele certificate pot fi găsite pe site-ul IEEE.[6]
Următoarele nu sunt oficial certificate ca compatibile cu POSIX, dar ele se conformează în mare parte standardelor prin implementarea suportului pentru POSIX via unui fel de funcționalitate de compatibilitate (deobicei librării de translare, sau a unui nivel deasupra nucleului). Fără aceste funcționalități, ele deobicei sunt incombatibile.
eCos – POSIX e parte din distribuția standard, și utilizată de multe aplicații.
Windows implementează parțial aceste standarde, prin intermediul unor API-uri. În plus, pot fi folosite programe care să extindă cu mult compatibilitatea cu POSIX:
Cygwin: oferă o dezvoltare în mare măsură compatibilă cu POSIX și cu un mediu de rulare pentru Microsoft Windows.
MinGW: fork Cygwin, este un lanț de instrumente GCC complet pentru platforma Windows care compilează și leagă componenta OS Windows Library C Runtime Library din msvcrt.dll.
MKS Toolkit: pachet software produs și întreținut de PTC care oferă un mediu asemănător Unix pentru scripting, conectivitate și portarea software-ului Unix și Linux la Microsoft Windows.
Windows Subsystem for Linux (WSL): un nou API prin care se extinde compatibilitatea cu sistemele Linux, practic va ingloba în Windows toate caracteristicile POSIX.
UWIN: API de la AT&T Research care implementează un strat POSIX pe interfața programului de aplicație Win32.