POSIX

De Viquipèdia
Dreceres ràpides: navegació, cerca

POSIX és l'acrònim de Portable Operating System Interface; la X prové de UNIX com a símbol d'identitat de l'API. El terme POSIX va ser suggerit per Richard Stallman com a resposta a la demanda de la IEEE, que buscava un nom fàcil de recordar. Una traducció aproximada de l'acrònim podria ser "Interfície de Sistema Operatiu Portàtil basat en UNIX".

Aquests són una família d'estàndards de crides al sistema operatiu definits pel IEEE i especificats formalment a l'IEEE 1003. Busquen generalitzar les interfícies dels sistemes operatius perquè una mateixa aplicació pugui ser executada en diferents plataformes. Aquests estàndards van sorgir d'un projecte de normalització de les API i descriuen un conjunt d'interfícies d'aplicació adaptables a una gran varietat d'implementacions dels sistemes operatius.

POSIX especifica les interfícies d'usuari i software al sistema operatiu en 15 documents diferents. La línia d'ordres estàndard i les interfícies d'"scripting" es basaren en Korn Shell. Altres programes a nivell d'usuari (user-level), serveis i utilitats inclouen awk, echo, ed i centenars d'altres. Els serveis a nivell de programa requerits inclouen la definició d'estàndards bàsics de I/O, (file(Computació, UNIX), consola, i serveis de xarxa. POSIX també especifiquen una API per a llibreries de threading, que és molt popular i molt utilitzada en molts sistemes operatius.

Una sèrie de proves acompanyen a l'estàndard POSIX. Són anomenades PCTS en al·lusió a l'acrònim Posix Conformance Test Suite.

Des que la IEEE va començar a cobrar alts preus per a la documentació de POSIX i s'ha negat a publicar els estàndards, ha augmentat l'ús del model Single Unix Specification. Aquest model és obert, accepta entrades de tot el món i està lliurement disponible a Internet. Va ser creat per The Open Group.

Actualment POSIX es divideix en tres parts:

  • POSIX.1, Core Services (implementa les crides de l'ANSI C estàndard). Inclou:
    • Creació i control de processos.
    • Senyals.
    • Excepcions de punt flotant.
    • Excepcions per violació de segment.
    • Excepcions per instrucció il·legal.
    • Errors del bus.
    • Temporitzadors.
    • Operacions de fitxers i directoris (sobre qualsevol fs muntat).
    • Canals (Pipes).
    • Biblioteca C (Standard C).
    • Instruccions d'entrada/sortida i de control de dispositiu (ioctl).
  • POSIX.1b, extensions per a temps real:
    • Planificació (scheduling) amb prioritat.
    • Senyals de temps real.
    • Temporitzadors.
    • Semàfors.
    • Intercanvi de missatges (message passing).
    • Memòria compartida.
    • Entrada/sortida síncrona i asíncrona.
    • Bloquejos de memòria.
  • POSIX.1c, extensions per fils (threads):
    • Creació, control i neteja de fils.
    • Planificació (scheduling).
    • Sincronització.
    • Gestió de senyals.