¿Cuál es la diferencia entre UNIX y Linux?

UNIX® y Linux® son dos tipos de sistemas operativos que pueden ser bastante similares desde el punto de vista del usuario, pero son muy diferentes internamente. Los núcleos del sistema operativo (SO) están estructurados de manera diferente y requieren diferentes controladores de dispositivo. Los sistemas operativos Linux® son a menudo software de código abierto, mientras que muchas implementaciones de UNIX® no lo son. Las empresas, los gobiernos y los estudiantes utilizan con frecuencia UNIX® y Linux® para una gran variedad de tareas informáticas. También se utilizan en muchos dispositivos portátiles, como teléfonos móviles, asistentes personales digitales (PDA) y netbooks.

El sistema operativo UNIX® original se desarrolló en American Telephone and Telegraph Company (AT&T) en 1969. Durante la década de 1970, AT&T concedió licencias del sistema operativo y su código fuente a muchas empresas comerciales, así como al gobierno de los EE. Se han desarrollado muchas variaciones fuera de AT&T, en parte debido a las reacciones al aumento de las tarifas de control y licencias de la empresa. Algunas de estas variantes se adhieren más estrechamente a los estándares UNIX® informales de las décadas de 1980 y 1990 que otras. UNIX® es un término bastante amplio y a menudo se adjunta a versiones similares, pero no estandarizadas, del sistema operativo.

Berkeley Software Distribution (BSD) es una versión competidora de UNIX® desarrollada en la Universidad de California, Berkeley. Una variación gratuita de código abierto llamada 386BSD se lanzó por primera vez en 1992, un año después de que Linus Torvalds comenzara a escribir el primer kernel de Linux®. La mayoría de las implementaciones de UNIX® no son de código abierto, lo cual es una gran diferencia entre UNIX® y Linux®. UNIX® se vende a menudo con una licencia bastante restrictiva que incluye una tarifa elevada por usuario o por sitio. En contraste, los sistemas Linux® generalmente se distribuyen libremente con código fuente bajo los términos liberales de la Licencia Pública General GNU (GPL).

El sistema operativo Linux® se desarrolló mucho después de que UNIX® hubiera madurado. UNIX® y Linux® comparten muchos de los mismos conceptos y las herramientas de software incluidas con cada uno proporcionan una funcionalidad similar. Sin embargo, el diseño y la implementación del kernel de Linux® y otro software del sistema operativo son diferentes de UNIX®. Muchas de las utilidades, compiladores y editores desarrollados por GNU Project se distribuyen con el sistema operativo Linux®. El objetivo de GNU es producir y mantener un sistema de software libre compatible con UNIX®, incluido un kernel.

El kernel de Linux® creado por Torvalds, distribuido bajo los términos de GNU GPL, es la base de todos los sistemas Linux®. Generalmente es más pequeño y más eficiente que la mayoría de los kernels de UNIX®, diseñado desde cero para ser muy similar a UNIX®. Sin embargo, los controladores de dispositivos, los sistemas de archivos y otros componentes internos del sistema operativo son bastante diferentes. Los sistemas UNIX® y Linux®, por lo tanto, requieren controladores separados para cada dispositivo, ya que no son compatibles en ese sentido.
Las interfaces de usuario también son frecuentemente diferentes entre los sistemas UNIX® y Linux®. UNIX® ha utilizado tradicionalmente una interfaz de línea de comandos basada en texto que también está disponible con Linux®. Muchos desarrolladores han creado sistemas de interfaz gráfica de usuario (GUI) con todas las funciones para Linux®, algunos de los cuales también se han adaptado a UNIX®.
Los kernels de Linux®, las utilidades GNU y el software libre relacionado son continuamente apoyados y mejorados por una gran comunidad de desarrollo de código abierto. En contraste, cada versión de UNIX® tiende a tener su propio grupo pequeño y especializado de desarrolladores, la mayoría de los cuales trabaja para un proveedor de UNIX® en particular. El soporte UNIX® a menudo está disponible solo a través de un acuerdo de soporte pagado con el proveedor o un tercero.