Nu confundați cu Unix, Unix-like, sau Linux.

Interfața de sistem de operare portabilă Portable Operating System Interface (POSIX) este o familie de standarde specificate de Societatea de calculatoare IEEE pentru menținerea compatibilității dintre sisteme de operare.[1] POSIX sunt standarde deschise, interfață de programare a aplicațiilor (API), împreună cu interfața liniei de comandă și interfețe utilite, pentru compatibilitatea program cu variante de Unix și alte sisteme de operare.[2][3]

Portable Operating System Interface (IEEE 1003)
Statut actualPublicat
An început1988; acum 36 ani (1988)
Standarde conexeISO/IEC 9945
DomeniuApplication programming interfaces
AbrevierePOSIX
Site webget.posixcertified.ieee.org

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

modificare

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.

Versiuni

modificare
  • POSIX.1: IEEE Std 1003.1-1988
  • POSIX.1b: IEEE Std 1003.1b-1993
  • POSIX.1c: IEEE Std 1003.1c-1995
  • POSIX.2: IEEE Std 1003.2-1992
  • POSIX.1-2001: IEEE Std 1003.1-2001
  • POSIX.1-2004: IEEE Std 1003.1-2004
  • POSIX.1-2008: IEEE Std 1003.1-2008 (Base Specifications, Issue 7)
  • POSIX.1-2013: IEEE Std 1003.1-2013
  • POSIX.1-2016: IEEE Std 1003.1-2016
  • 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

modificare

Blocuri 512 vs 1024 byte

modificare

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

modificare

Î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]

Complet compatibile cu POSIX

modificare

Parțial compatibile cu POSIX

modificare

Următoarele, deși nu sunt certificate oficial ca fiind compatibile cu POSIX, îl respectă în mare parte:

Compatibile via nivel de compatibilitate

modificare

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.
  • Plan 9 de la Bell Labs APE - ANSI/POSIX Environment[9]
  • RIOT (printr-un modul POSIX opțional)

POSIX pentru Windows

modificare

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.
  • UWIN: API de la AT&T Research care implementează un strat POSIX pe interfața programului de aplicație Win32.
  1. ^ „POSIX.1 FAQ”. The Open Group. . 
  2. ^ a b „POSIX 1003.1 FAQ Version 1.12”. . Accesat în . 
  3. ^ „P1003.1 - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8”. IEEE Standards Association. 
  4. ^ „The origin of the name POSIX”. . Accesat în . 
  5. ^ Getting started with POSIX riptutorial.com
  6. ^ „POSIX Certification”. IEEE. 
  7. ^ Schweikhardt, Jens. „POSIX utilities”. FreeBSD. 
  8. ^ Solter, Nicholas A.; Jelinek, Jerry; Miner, David (). OpenSolaris Bible (în engleză). John Wiley & Sons. ISBN 9781118080313. 
  9. ^ „APE — ANSI/POSIX Environment”. Plan 9. Bell Labs. Arhivat din original la . Accesat în . 

Vezi și

modificare

Legături externe

modificare
 
Commons
Wikimedia Commons conține materiale multimedia legate de POSIX