- POSIX
-
POSIX es el acrónimo de Portable Operating System Interface; la X viene de UNIX como seña de identidad de la API.
El término fue sugerido por Richard Stallman en respuesta a la demanda de la IEEE, que buscaba un nombre fácil de recordar. Una traducción aproximada del acrónimo podría ser "Interfaz de sistema operativo portable" o "Interfaz portable de sistema operativo".
Contenido
Introducción
Son una familia de estándares de llamadas al sistema operativo definidos por el IEEE y especificados formalmente en el IEEE 1003. Persiguen generalizar las interfaces de los sistemas operativos para que una misma aplicación pueda ejecutarse en distintas plataformas. Estos estándares surgieron de un proyecto de normalización de las API y describen un conjunto de interfaces de aplicación adaptables a una gran variedad de implementaciones de sistemas operativos.
Especifica las interfaces de usuario y software al sistema operativo en 15 documentos diferentes. La línea de comandos estándar y las interfaces de scripting se basaron en Korn Shell. Otros programas a nivel de usuario (user-level), servicios y utilidades incluyen AWK, echo, ed y cientos de otras. Los servicios a nivel de programa requeridos incluyen definición de estándares básicos de I/O, (file, terminal, y servicios de red). También especifican una API para las bibliotecas de threading, que es muy utilizada en una gran variedad de sistemas operativos.
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, 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.
Partes
- POSIX.1, Core Services (implementa las llamadas del ANSI C estándar). Incluye:
- Creación y control de procesos.
- Señales.
- Excepciones de punto flotante.
- Excepciones por violación de segmento.
- Excepciones por instrucción ilegal.
- Errores del bus.
- Temporizadores.
- Operaciones de ficheros y directorios (sobre cualquier fs montado).
- Tuberías (Pipes).
- Biblioteca C (Standard C).
- Instrucciones de entrada/salida y de control de dispositivo (ioctl).
- POSIX.1b, extensiones para tiempo real:
- Planificación (scheduling) con prioridad.
- Señales de tiempo real.
- Temporizadores.
- Semáforos.
- Intercambio de mensajes (message passing).
- Memoria compartida.
- Entrada/salida síncrona y asíncrona.
- Bloqueos de memoria.
- 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)
- Intérprete de Comandos
- Programas de Utilidad
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.
- Las 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. Para más información sobre este estándar visitar: http://www.opengroup.org/onlinepubs/009695399/
- A partir de 2009 POSIX:2008 o IEEE Std 1003.1-2008 representa la versión actual.
- La base de definiciones, Tema 7,
- Las interfaces encabezamientos del sistema, Tema 7.
- Los comandos y utilidades, Tema 7.
Se puede observar una copia de esta especificación en: http://www.opengroup.org/onlinepubs/9699919799
Compatibilidad
TOTALMENTE POSIX-COMPATIBLES
Los siguientes Sistemas Operativos son 100% compatibles con uno o varios estándares POSIX.
- A/UX
- AIX
- BSD/OS
- DSPnano
- HP-UX
- INTEGRITY
- IRIX
- LynxOS
- Mac OS X v10.5 en Procesadores Intel.
- MINIX
- MPE/iX
- QNX (IEEE Std. 1003.13-2003 PSE52;
- RTEMS (POSIX 1003.1-2003 Profile 52)
- Solaris
- Unison RTOS
- UnixWare
- velOSity
- VxWorks (IEEE Std. 1003.13-2003 PSE52;
MAYORMENTE POSIX-COMPATIBLESLos siguientes, aunque no oficialmente certificados como POSIX-compatibles, 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
- 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
Véase también
Enlaces externos
Categorías:- Unix
- Interfaces de programación de aplicaciones
- Normas ISO
- POSIX.1, Core Services (implementa las llamadas del ANSI C estándar). Incluye:
Wikimedia foundation. 2010.