¿Qué es POSIX?

Autor: | Última modificación: 25 de febrero de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

La interfaz portátil de sistema operativo para Unix o POSIX (acrónimo de Portable Operating System Interface for uniX) es un conjunto o familia de estándares del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) que buscan definir formas para que los programas interactúen con un sistema operativo, facilitando su interoperabilidad. Este sistema es acompañado de una serie de pruebas llamadas PCTS (por sus siglas en inglés Posix Conformance Test Suite).

Los programas que trabajan bajo el sistema POSIX son más adaptables de un sistema a otro y son más portables a otras plataformas, que aquellos que aquellos que no cumplen con los estándares de esta interfaz.

Desde que IEEE empezó a cobrar altos precios por la documentación de esta interfaz y negó la publicación de los estándares, los programadores y proyectos del sector IT han optado por el uso del uso del Single Unix Specification: un modelo abierto creado por The Open Group, que acepta entradas de todos y se encuentra libremente disponible en internet.

Historia de POSIX

Durante las primeras épocas de la programación, para cada modelo de ordenador era necesario reescribir desde cero cada aplicación. Luego, IBM empezó a usar el mismo sistema o arquitectura de hardware para facilitar que los modelos nuevos pudieran utilizar el mismo sistema operativo. Este sistema operativo común en diferentes máquinas representó el primer paso hacia la portabilidad.

Hacia finales de la década de los 60 aparece el sistema operativo Unix con la promesa de poder ejecutarse en máquinas de diferentes proveedores. Sin embargo, la constante aparición de nuevos sistemas operativos dificultaba la portabilidad entre estos, los hardware y los proveedores.

Luego, en los años 80 se desarrolla el estándar POSIX para intentar solucionar esos inconvenientes de portabilidad, definiendo la interfaz entre la aplicación y el sistema operativo. Esto implica que los programadores pueden escribir el sistema operativo y la aplicación como lo deseen, siempre y cuando respetaran la interfaz entre ellos.

El primero de los estándares POSIX fue lanzado hacia 1988 bajo el nombre de IEEE Standard 1003.1-1988 Portable Operating System Interface for Computer Environments. El término POSIX que conocemos en la actualidad fue sugerido por Richard Stallman, quien formaba parte del comité de IEEE y buscaba un nombre fácil de recordar.

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Más adelante, se fueron lanzando variaciones del mismo estándar divididos en:

POSIX.1: Servicios básicos
POSIX.1b: Extensiones en tiempo real
POSIX.1c: Extensiones de subprocesos POSIX.2: Shell y utilidades.

Principios de POSIX

Para el diseño de esta interfaz, se tuvo en cuenta ciertos principios fundamentales que apoyaran su propósito de favorecer la portabilidad entre sistemas operativos y aplicaciones, siendo estos:

  • Los sistemas que no sean UNIX también son compatibles con el programa.
  • Este estándar no define el desarrollo de la aplicación o el sistema operativo, sino solo la relación entre estos.
  • No se garantiza portabilidad en cuanto a código binario, sino, la portabilidad del código fuente.
  • La interfaz debe ser breve respecto a la longitud, y amplio en cuanto al alcance para poder cubrir un gran número de sistemas.
  • Ahorra dinero y tiempo a largo plazo, pues se tienen que transcribir los códigos de un sistema a otro.

Estándares de POSIX

Los estándares de esta interfaz se pueden agrupar en:

  • Estándares de base: se encarga de lo relacionado con los estándares del sistema operativo. Especifica la sintaxis de los servicios del sistema operativo para que los programas de aplicación puedan trabajar con ellos de forma directa. Los programadores tienen la posibilidad de elegir qué implementación usar, siempre y cuando cumplan con las especificaciones de la interfaz.
  • Interface en diversos lenguajes de programación: estándares secundarios que se encargan de traducir los estándares bases a un lenguaje de programación en específico.
  • Entonos de sistemas abiertos: están relacionados con los perfiles de entorno de aplicación. Los perfiles de aplicación buscan alcanzar un pequeño conjunto de tipos de implementación de sistemas de operación bien definidos y apropiados para entornos particulares.

¿Cuál es el siguiente paso?

Ahora que ya aprendiste acerca de esta interfaz, su historia, principios y estándares, no dudes en seguir aprendiendo acerca de esta y otras herramientas que te permitirán mejorar tus procesos de desarrollo tecnológico y de aplicaciones. Inscríbete en nuestro  DevOps & Cloud Computing Full Stack Bootcamp y conviértete en un experto sobre estos temas en menos de 6 meses.

[email protected]