POSIX |
---|
Parte de estándar del IEEE y sistema operativo |
Información general |
---|
Estado actual |
En desarrollo |
---|
|
POSIX (acrónimo de Portable Operating System Interface, y X viene de UNIX como seña de identidad de la API) es una norma escrita por la IEEE, que define una interfaz estándar del sistema operativo y el entorno, incluyendo un intérprete de comandos (o "shell").[1]
El término fue sugerido por Richard Stallman en la década de 1980, en respuesta a la demanda del IEEE, que buscaba un nombre fácil de recordar. La traducción del acrónimo es "Interfaz de Sistema Operativo Portable".[2]
Introducción
POSIX es una norma escrita y una marca registrada por la Institute of Electrical and Electronics Engineers.[3] Dicha norma define una interfaz estándar del sistema operativo y el entorno, incluyendo un intérprete de comandos (o "shell"), y programas de utilidades comunes para apoyar la portabilidad de las aplicaciones a nivel de código fuente. El nombre POSIX surgió de la recomendación de Richard Stallman, que por aquel entonces, en la década de 1980, formaba parte del comité de IEEE.[2]
Una serie de pruebas acompañan al estándar POSIX. Son llamadas "PCTS" en alusión al acrónimo "Posix Conformance Test Suite". Desde que la IEEE empezó a cobrar altos precios por la documentación de POSIX y se ha negado a publicar los estándares,[4]
se ha aumentado el uso del modelo Single Unix Specification. Este modelo es abierto, acepta entradas de todo el mundo y está libremente disponible en Internet. Fue creado por The Open Group.[5]
Partes
- POSIX.1, Core Services (implementa las llamadas del ANSI C estándar).[6] Incluye:
- POSIX.1c, extensiones para hilos (threads):
- Creación, control y limpieza de hilos.
- Planificación (scheduling).
- Sincronización.
- Manejo de señales.
- POSIX.2, Shell y Utilidades (IEEE Std 1003.2-1992)
Luego de 1997 el Grupo Austin realizó modificaciones a POSIX. Las especificaciones tienen el nombre de Single Unix Specification (Especificación Única de Unix)
- POSIX:2001 o IEEE Std 1003.1-2001 equivale a la versión 3 de Single UNIX Specification.[7]
- La base de definiciones, Tema 6.
- Las interfaces y encabezamientos del sistema, Tema 6.
- Los comandos y utilidades, Tema 6.
- POSIX:2004 o IEEE Std 1003.1-2004 implica una pequeña actualización de POSIX:2001. Tiene dos correcciones técnicas de errores.[8]
- A partir de 2009 POSIX:2008 o IEEE Std 1003.1-2008 representa la versión actual.[5]
- La base de definiciones, Tema 7,
- Las interfaces encabezamientos del sistema, Tema 7.
- Los comandos y utilidades, Tema 7.
Compatibilidad
Totalmente compatibles con POSIX
Los siguientes Sistemas Operativos son 100% compatibles con uno o varios estándares POSIX:
Mayoritariamente compatibles con POSIX
Los siguientes, aunque no certificados de manera oficial como compatibles con POSIX, se ajustan en gran parte:
- BeOS / Haiku
- FreeBSD
- GNU/Linux (la mayor parte de las distribuciones)
- Contiki
- NetBSD
- Nucleus RTOS
- OpenBSD
- OpenSolaris
- PikeOS
- RTOS (para ciertos sistemas con particiones PSE51 y PSE52 opcionales)
- RTEMS – Soporte API POSIX diseñado para IEEE Std. 1003.13-2003 PSE52
- Sanos
- SkyOS
- Syllable
- VSTa
POSIX para Windows
- Cygwin ofrece un desarrollo en gran parte compatible con POSIX y un entorno de ejecución para Microsoft Windows.
- Microsoft POSIX subsystem, un subsistema opcional Windows.[9]
- Windows Services for UNIX de Microsoft permite una plena compatibilidad POSIX para ciertos productos de Microsoft Windows. Los sistemas operativos basados en Windows NT hasta Windows 2000 tenían una interfaz POSIX incorporada en el sistema operativo y los Servicios UNIX para Windows brindaban un entorno del tipo UNIX. Para Windows XP, los Servicios UNIX para Windows deben de instalarse para que exista compatibilidad POSIX. El subsistema UNIX está incorporado a las ediciones Enterprise y Ultimate de Windows Vista y 7, y no pueden ser agregados en forma separada a las otras ediciones..
- UWIN de AT&T Research implementa una capa POSIX sobre la interfaz de programa de aplicaciones (API) de Win32
- MKS Toolkit