¿Qué es POSIX? Conceptos fundamentales

Al trabajar con Linux, a menudo encontraremos referencias a POSIX. Lamentablemente, por lo general no nos detenemos a explicar su significado. Por eso, en este post explicaremos qué es POSIX y por qué es importante. De esta manera, tanto los nuevos usuarios como aquellos más experimentados tendrán una referencia a mano.

¿Qué es POSIX?

En primer lugar, POSIX significa Portable Operating System Interface. Consiste en una familia de estándares especificadas por la IEEE con el objetivo de facilitar la interoperabilidad de sistemas operativos. Además, POSIX establece las reglas para la portabilidad de programas. Por ejemplo, cuando se desarrolla software que cumple con los estándares POSIX existe una gran probabilidad de que se podrá utilizar en sistemas operativos del tipo Unix. Si se ignoran tales reglas, es muy posible que el programa o librería funcione bien en un sistema dado pero que no lo haga en otro.

Sin ir más lejos, examinemos en la última versión de la especificación IEEE 1003 (designación formal de los estándares POSIX). Al buscar la referencia sobre el comando du, podemos ver que solamente las opciones -a, -H, -k, -L, -s, y -x son obligatorias como vemos en la Fig. 1. Otras, tales como -c y -h, aparecen en la versión de du provista por el proyecto GNU. Esto significa que si utilizamos estas últimas en un script desarrollado en Linux e intentamos hacerlo funcionar en FreeBSD o AIX, es muy probable que no funcione como esperamos.

¿Qué es POSIX? Consultando la documentación de du
Figura 1 – ¿Qué es POSIX? Consultando la documentación de du

Por los motivos expuestos es buena idea tener a mano el link de la documentación a fin de consultarla durante el desarrollo. También puede resultarnos útil en el caso de que necesitemos instalar software de terceros en nuestro sistema.

Espero que este post les haya resultado útil. ¡Nos leemos en el próximo!

¡Aprovechá la oportunidad de suscribirte al blog para recibir en tu correo el post nuestro de cada día, novedades, y promociones exclusivas!