ArchiTecnologia

Aprendizaje abierto. Conocimiento libre.

ArchiTecnologia
Linux

¿Se está perdiendo la herencia UNIX en Linux?

Hace un tiempo publiqué una serie de artículos sobre la historia de UNIX bastante interesante. Y, aunque Linux es de esta familia, muchos dudan sobre si es más o menos Unix que otros, o si realmente se sigue respetando la filosofía inicial con algunos sistemas implementados recientemente como systemd, etc.

En este artículo intentaré dar mi opinión al respecto de esta cuestión, para ver si se tiene algo más claro qué es Linux, qué no es, y si los pilares fundamentales de la filosofía UNIX siguen presentes…

¿Qué es Linux?

Unix Familias

Sin entrar en si Linux es solo el kernel y si hay que llamar al sistema completo GNU/Linux (en caso de usar el ecosistema GNU) o de otra forma, me centraré a nivel práctico. En ese caso, Linux es:

  • Kernel monolítico con capacidad de carga dinámica de módulos
  • Sistema operativo genérico
  • Multitarea
  • Multiusuario
  • Con capacidades de red
  • Distribuido
  • Con soporte para decentas de arquitecturas
  • No propietario
  • Unix funcional / Freenix
  • Mayormente compatible con POSIX

Decir si un sistema moderno es más o menos UNIX es algo absurdo, ya que algunos UNIX «con pedigrí» (registrados) han apostado por filosofías muy diferentes y han dejado de usar otras herramientas originales.

Filosofías Unix

Unix fue un sistema operativo revolucionario en su época, tanto que actualmente sigue estando muy vivo inspirando proyectos como Linux, macOS, Solaris, *BSD, AIX, HP/UX, etc.

«UNIX es muy simple, sólo se necesita de un genio para entender su simplicidad.»
Dennis Ritchie

Y, como bien indicaba Ritchie, lo cierto se que se apoyaba sobre unos pilares esenciales simples:

  • Todo es un fichero (no hay dispositivos o unidades de disco como en Windows, sino que todo se representan como ficheros). Esto posibilita una mayor flexibilidad, ya que se pueden usar herramientas de gestión de ficheros también para trabajar con dispositivos de hardware.
  • Sigue la filosofía KISS (Keep It Simple, Stupid!), es decir, mantener la máxima simplicidad en los programas que lo componente. Estos programas deben ser simples y cumplir una sola finalidad, pero hacerlo bien. Es decir, todo lo contrario a los pesados programas complejos.
  • Ofrecer interfaces uniformes para distintas partes del sistema, como /dev para dispositivos.

Mientras que Linux sigue respetando muchas de las herramientas originales, la forma de hacer las cosas, y también el primer principio, algunos dudan si el segundo sigue respetándose debido a la incorporación de proyectos como systemd.

¿Linux sigue la filosofía Unix en la actualidad? ¿Es más o menos Unix?

Si Linux sigue, o no, la filosofía Unix original no debe ser algo que se pueda etiquetar como bueno o malo. De hecho, ¿qué sistema operativo moderno no ha evolucionado? Linux continúa teniendo una gran esencia Unix, pero también ha evolucionado de forma totalmente diferente a otros Unix.

Por ejemplo:

  • macOS se puede considerar un Unix registrado. ¿Es macOS más Unix por eso? O tal vez habría que evaluar todas esas cosas en las que Apple ha dinamitado la esencia Unix y se ha alejado de ese concepto. ¿Es menos Unix por esto otro?
  • Solaris, BSD y Linux adoptaron el directorio /proc del sistema operativo Plan 9 de Bell, algo que no estaba presente en el Unix original. Una interfaz uniforme que transforma a estos sistemas en más defensores de esta filosofía que incluso el Unix original. ¿Son más Unix por eso?
  • Cuando Linux adoptó systemd, más complejo y alejado de SyV init. Pero también lo hicieron otros *BSD, e incluso distros como Gentoo o Slackware. ¿Son menos Unix por eso? Lo cierto es que muchos ven systemd como una mole monolítica que rompe la filosofía KISS, pero realmente es un conjunto de piezas de software trabajando juntas, por lo que se puede considerar KISS si no lo ves desde una perspectiva unicita.
  • X-Windows también puede parecer una auténtica mole, pesada, compleja. Entre otras cosas, por eso se han implementado alternativas como Wayland, para hacerla más ligera y adaptada a los nuevos tiempos. Y es usada por algunos Unix «muy Unix»…
  • ¿Por el código fuente? Realmente Linux, Minix y otros sistemas no tienen código original de Unix. Pero, los que sí tienen lazos «sanguíneos» con Unix, poco código original conservarán. Más aún tras las Unix wars…
  • La jerarquía del directorios también es ligeramente diferente en Linux, FreeBSD, Solaris o macOS. ¿Son menos Unix por eso? Incluso dentro de cada distro GNU/Linux puede haber divergencias…

Creo que todo esto es algo absurdo. Es cierto que algunos de los pilares esenciales de Unix son muy positivos, pero no hay que anclarse en el pasado y olvidar adaptar el SO a los nuevos tiempos y necesidades. Es más, habría que cuestionarse realmente ¿qué es ser más o menos Unix? Y así evitar esas absurdas disputas en redes sobre todos estos temas…

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar