POSIX

POSIX és l'acrònim de Portable Operating System Interface (la X prové d'UNIX com a símbol d'identitat de l'API) d'una família d'estàndards de crides al sistema operatiu definits per l'IEEE i especificades formalment a l'IEEE 1003 que busca 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.

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".

Visió general

[modifica]

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.

Versions

[modifica]

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:[1]
    • 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.

Referències

[modifica]
  1. «librt(3LIB)». Oracle Corporation, 04-08-1998. [Consulta: 18 febrer 2016]. «librt, libposix4- POSIX.1b Realtime Extensions library [...] librt és el nom preferit per a aquesta biblioteca. El nom libposix4 es manté per una compatibilitat endarrerida i s'ha d'evitar. Les funcions d'aquesta biblioteca proporcionen la majoria de les interfícies especificades pel POSIX.1b Realtime Extension.»