Sari la conținut

POSIX: Diferență între versiuni

De la Wikipedia, enciclopedia liberă
Conținut șters Conținut adăugat
wlgt
m Robot. Înlocuire automată de text (-{{Informații bibliotecare +{{Control de autoritate)
 
(Nu s-au afișat 19 versiuni intermediare efectuate de alți 3 utilizatori)
Linia 2: Linia 2:
{{Distinge|Unix|Unix-like|Linux}}
{{Distinge|Unix|Unix-like|Linux}}
{{Use dmy dates|date=April 2020}}
{{Use dmy dates|date=April 2020}}

<!-- EROARE nu exista format:technology standard -->
<!-- EROARE nu exista format:technology standard -->
{{Infobox W3C Standard
{{Infobox W3C Standard
Linia 24: Linia 23:
}}
}}


Interfața de [[sistem de operare]] portabilă '''Portable Operating System Interface''' ('''POSIX''') e o familie de [[standardizare|standarde]] specificate de [[Societatea de calculatoare IEEE]] pentru menținerea compatibilității dintre [[Sistem de operare|sisteme de operare]].<ref>{{cite web |url=http://www.opengroup.org/austin/papers/posix_faq.html |title=POSIX.1 FAQ |publisher=The Open Group |date=5 October 2011}}</ref> POSIX definește [[application programming interface|interfață de programare a aplicațiilor]] (API), împreună cu [[interfață Unix|interfața]] liniei de comandă și interfețe utilite, pentru compatibilitatea program cu variante de [[Unix]] și alte sisteme de operare.<ref name = "FAQ" /><ref name = "IET">{{cite web
Interfața de [[sistem de operare]] portabilă '''Portable Operating System Interface''' ('''POSIX''') este o familie de [[standardizare|standarde]] specificate de [[Societatea de calculatoare IEEE]] pentru menținerea compatibilității dintre [[Sistem de operare|sisteme de operare]].<ref>{{cite web |url=http://www.opengroup.org/austin/papers/posix_faq.html |title=POSIX.1 FAQ |publisher=The Open Group |date=5 October 2011}}</ref> POSIX sunt standarde deschise, [[application programming interface|interfață de programare a aplicațiilor]] (API), împreună cu [[interfață Unix|interfața]] liniei de comandă și interfețe utilite, pentru compatibilitatea program cu variante de [[Unix]] și alte sisteme de operare.<ref name = "FAQ" /><ref name = "IET">{{cite web
| title = P1003.1 - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8
| title = P1003.1 - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8
| url = https://standards.ieee.org/project/1003_1.html#Standard
| url = https://standards.ieee.org/project/1003_1.html#Standard
Linia 30: Linia 29:


==Nume==
==Nume==
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''. Comitetul l-a găsit pronunțabil și memorabil mult mai ușor, și de asta și l-a adoptat.<ref name = "FAQ">{{cite web
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.<ref name = "FAQ">{{cite web
|date = 2 February 2006
|date = 2 February 2006
|title = POSIX 1003.1 FAQ Version 1.12
|title = POSIX 1003.1 FAQ Version 1.12
Linia 40: Linia 39:
|access-date = 28 September 2013}}</ref>
|access-date = 28 September 2013}}</ref>


==Controverse==
==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.
===blocuri 512 vs 1024 baiți ===
*'''Shell și utilități''': descriere a utilităților și a shell-ului, standarde pentru expresii regulate.
POSIX mandatează mărimi de [[Bloc (stocare de date)|blocuri]] implicite de 512 baiți pentru utilitele [[Df (Unix)|df]] și [[Du (Unix)|du]], reflectând mărimea tipică a blocurilor pe discuri. Când [[Richard Stallman]] și echipa [[GNU]] implementau POSIX pentru [[GNU| sistemul de operare GNU]], ei au obiectat la aceasta din motiv că majoritatea oamenilor gândesc în termeni de blocuri de 1024 baiți (sau 1 [[Kibibyte|KiB]]).
*'''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 (comandă)|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==
*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). <ref>[https://riptutorial.com/posix Getting started with POSIX] riptutorial.com</ref>

==Controverse==
===Blocuri 512 vs 1024 byte ===
POSIX mandatează mărimi de [[Bloc (stocare de date)|blocuri]] implicite de 512 [[byte]] pentru utilitele [[Df (Unix)|df]] și [[Du (Unix)|du]], reflectând mărimea tipică a blocurilor pe discuri. Când [[Richard Stallman]] și echipa [[GNU]] implementau POSIX pentru [[GNU| 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 [[Kibibyte|KiB]]).


==Sisteme de operare orientate POSIX==
==Sisteme de operare orientate POSIX==
În dependență de gradul de conformitate cu standardele, se poate de clasificat sistemele de operare ca complet sau parțial compatibile cu POSIX. Produsele certificate pot fi găsite pe site-ul IEEE.<ref name = "certification">{{cite web | url = http://get.posixcertified.ieee.org/register.html | publisher = IEEE | title = POSIX Certification}}</ref>
Î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.<ref name = "certification">{{cite web | url = http://get.posixcertified.ieee.org/register.html | publisher = IEEE | title = POSIX Certification}}</ref>

===Complet compatibile cu POSIX===
*[[IBM AIX|AIX]]
*EulerOS
*[[HP-UX]]
*[[Integrity]]
*[[MacOS]] (începând cu v10.5 ''Leopard'')
*[[OpenServer]]
*[[UnixWare]]
*[[VxWorks]]
*[[z/OS]]


===În mare parte compatibile cu POSIX===
===Parțial compatibile cu POSIX===
Următoarele, deși nu sunt certificate oficial ca compatibile cu POSIX , îl respectă în mare parte:
Următoarele, deși nu sunt certificate oficial ca fiind compatibile cu POSIX, îl respectă în mare parte:
{{div col|colwidth=18em}}
{{div col|colwidth=18em}}
*[[Android (sistem de operare)|Android]] (Disponibil prin Android NDK)
*[[Android (sistem de operare)|Android]] (Disponibil prin Android NDK)
Linia 63: Linia 96:
*[[NuttX]]
*[[NuttX]]
*[[OpenBSD]]
*[[OpenBSD]]
*[[OpenOS]]
*[[OpenVMS]]
*[[OpenSolaris]]
*[[QNX]]
* [[Redox (sistem de operare)|Redox]]
* [[Redox (sistem de operare)|Redox]]
*[[RTEMS]] – suport API POSIX proiectat pentru IEEE Std. 1003.13-2003 PSE52
*[[RTEMS]] – suport API POSIX proiectat pentru IEEE Std. 1003.13-2003 PSE52
*[[Syllable Desktop|Syllable]]
*[[Syllable Desktop|Syllable]]
*[[VMware ESXi]]
*[[VSTa]]
*[[VSTa]]
{{div col end}}
{{div col end}}


====Compatibile via nivel de compatibilitate====
===Compatibile via nivel de compatibilitate===
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.
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]]&nbsp;– POSIX e parte din distribuția standard, și utilizată de multe aplicații.
*[[eCos]]&nbsp;– POSIX e parte din distribuția standard, și utilizată de multe aplicații.
*[[Plan 9 de la Bell Labs]] APE - ANSI/POSIX Environment<ref name = "APE">{{cite web | url = http://plan9.bell-labs.com/sys/doc/ape.html | title = APE — ANSI/POSIX Environment | publisher = Bell Labs | work = Plan 9}}</ref>
*[[Plan 9 de la Bell Labs]] APE - ANSI/POSIX Environment<ref name = "APE">{{cite web | url = http://plan9.bell-labs.com/sys/doc/ape.html | title = APE — ANSI/POSIX Environment | publisher = Bell Labs | work = Plan 9 | accessdate = 2021-05-29 | archive-date = 2008-05-10 | archive-url = https://web.archive.org/web/20080510160626/http://plan9.bell-labs.com/sys/doc/ape.html | dead-url = yes }}</ref>
*[[RIOT (sistem de operare)|RIOT]] (printr-un modul POSIX opțional)
*[[RIOT (sistem de operare)|RIOT]] (printr-un modul POSIX opțional)

===POSIX pentru Windows===
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.
*[[Microsoft POSIX subsystem]]: un subsistem livrat cu primele versiuni de [[Windows NT]]

*[[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.


==Note==
==Note==
{{Reflist|30em}}
{{Reflist|30em}}

== Vezi și ==
== Vezi și ==
*[[Expresie regulată]]
*[[Fir de execuție]]
* [[Signal_(IPC)#Signale POSIX| Signale POSIX]]
* [[Signal_(IPC)#Signale POSIX| Signale POSIX]]
* [[Fire POSIX]]
* [[Fire POSIX]]
Linia 86: Linia 140:
* [[Librăria POSIX C]]
* [[Librăria POSIX C]]
* [[Sistem de operare în timp real]]
* [[Sistem de operare în timp real]]
* [[Set de caractere portabil]], set de 103 caractere care trebuie suportate în orice locală de set de caractere compatibilă cu POSIX
* [[Set de caractere portabil]], set de 103 caractere care trebuie suportate în orice locală de set de caractere compatibilă cu POSIX



==Legături externe==
==Legături externe==
Linia 93: Linia 146:
* {{Citat web | url = http://get.posixcertified.ieee.org | publisher = Open Group/IEEE | title = POSIX Certification home}}
* {{Citat web | url = http://get.posixcertified.ieee.org | publisher = Open Group/IEEE | title = POSIX Certification home}}


{{Control de autoritate}}
{{Informații bibliotecare}}


[[Categorie:POSIX| ]]
[[Categorie:POSIX| ]]
[[Categorie:Standarde IEEE]]

Versiunea curentă din 19 martie 2023 17:13

Nu confundați cu Unix, Unix-like, sau Linux.
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

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]

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]

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

Blocuri 512 vs 1024 byte

[modificare | modificare sursă]

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 | modificare sursă]

Î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 | modificare sursă]

Parțial compatibile cu POSIX

[modificare | modificare sursă]

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

Compatibile via nivel de compatibilitate

[modificare | modificare sursă]

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 | modificare sursă]

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 . 

Legături externe

[modificare | modificare sursă]
Commons
Commons
Wikimedia Commons conține materiale multimedia legate de POSIX