Cuál es la diferencia entre Linux y Unix?

Linux tomó su inspiración de Unix, pero Linux no es Unix, aunque definitivamente es similar a Unix. Explicaremos las principales diferencias entre estos dos famosos sistemas operativos.

¿La misma diferencia?

Linux es un sistema operativo gratuito y de código abierto. Unix es un producto comercial, ofrecido por una variedad de proveedores, cada uno con su propia variante, generalmente dedicada a su propio hardware. Es caro y de código cerrado. Pero Linux y Unix hacen más o menos lo mismo de la misma manera, ¿no? Más o menos, sí.

Las sutilezas son un poco más complicadas. Hay diferencias más allá de lo técnico y arquitectónico. Para entender algunas de las influencias que han dado forma a Unix y Linuxnecesitamos entender sus historias de fondo.

Los orígenes de Unix

Unix tiene más de 50 años. fue desarrollado enCorporación de equipos digitales(DIC)lenguaje ensambladoren unDIC PDP/7como un proyecto no oficial enlaboratorios de campanaentonces propiedad deAT&T. En breve fue portado a unDIC PDP/11/20computadora, luego se extendió de manera constante a otras computadoras en Bell. Una reescritura en ellenguaje de programación ccondujo a la Versión 4 de Unix de 1973. Esto fue significativo porque las características del lenguaje C y el compilador significaban que ahora era relativamente fácil migrar Unix a nuevas arquitecturas informáticas.

En 1973,Ken Thompsonydennis ritchiepresentó un artículo sobre Unix en una conferencia. Como resultado, las solicitudes de copias de Unix llegaron a Bell. Debido a que la venta de sistemas operativos estaba fuera del alcance permitido de las operaciones de AT&T, no podían tratar a Unix como un producto. Esto llevó a que Unix se distribuyera como código fuente con una licencia. Los costos nominales fueron suficientes para cubrir el envío y el empaque y una “regalía razonable”. Unix vino “tal cual”, sin soporte técnico y sin corrección de errores. Pero obtuvo el código fuente y pudo modificarlo.

Unix vio una rápida aceptación en las instituciones académicas. En 1975, Ken Thompson pasó un año sabático de Bell en laUniversidad de California, Berkeley. Junto con algunos estudiantes de posgrado, comenzó a agregar y mejorar su copia local de Unix. Creció el interés externo en las adiciones de Berkeley, lo que llevó al primer lanzamiento delDistribución de software de Berkeley(BSD). Esta era una colección de programas y modificaciones del sistema que podían agregarse a un sistema Unix existente, pero no era un sistema operativo independiente. Las versiones posteriores de BSD fueron sistemas Unix completos.

Ahora había dos sabores principales de Unix, el flujo de AT&T y el flujo de BSD. Todas las demás variantes de Unix, comoAIX,HP-UXyOráculo solaris,son descendientes de estos. En 1984, se liberaron algunas de las restricciones de AT&T y pudieron producir y vender Unix.

Unix luego se comercializó.

El Génesis de Linux

Al ver la comercialización de Unix como una mayor erosión de las libertades disponibles para los usuarios de computadoras,Richard Stallmanse propuso crear un sistema operativo basado en la libertad. Es decir, la libertad de modificar el código fuente, redistribuir versiones modificadas del software y utilizar el software de la forma que el usuario considere adecuada.

El sistema operativo iba a replicar la funcionalidad de Unix, sin incluir ningún código fuente de Unix. Llamó al sistema operativo GNU y fundó laProyecto GNUen 1983 para desarrollar el sistema operativo. En 1985 fundó laFundación de Software Librepara promover, financiar y apoyar el proyecto GNU.

Todas las áreas del sistema operativo GNU estaban haciendo un buen progreso, excepto el kernel. Los desarrolladores del proyecto GNU estaban trabajando en un microkernel llamadoGNU Hurd, pero el progreso fue lento. (Todavía está en desarrollo hoy en día, y cada vez más cerca de su lanzamiento). Sin un núcleo, no habría sistema operativo.

En 1987,Andrew Tanebaumlanzó un sistema operativo llamadoMINIX(mini-Unix) como material didáctico para estudiantes de diseño de sistemas operativos. MINIX era un sistema operativo funcional, similar a Unix, pero tenía algunas restricciones, especialmente con el sistema de archivos. Después de todo, el código fuente tenía que ser lo suficientemente pequeño para garantizar que se cubriera adecuadamente en un solo semestre universitario. Se tuvo que sacrificar alguna funcionalidad.

Para comprender mejor el funcionamiento interno delIntel 80386en su nueva PC, un estudiante de informática llamadoLinus Torvaldsescribió un código simple de cambio de tareas como ejercicio de aprendizaje. Eventualmente, este código se convirtió en un proto-núcleo elemental que se convirtió en el primer Linux núcleo. Torvalds estaba familiarizado con MINIX. De hecho, su primer kernel fue desarrollado en MINIX utilizando el compilador GCC de Richard Stallman.

Torvalds decidió crear su propio sistema operativo que superara las limitaciones del MINIX diseñado para la enseñanza. En 1991 hizo suanuncio famosoen el MINIXUsenetgrupo, solicitando comentarios y sugerencias sobre su proyecto.

Linux no es realmente un clon de Unix. Si Linux fuera un clon de Unix, sería Unix. No lo es, es similar a Unix. La palabra “clon” implica que una pequeña parte del original se cultiva en una nueva réplica célula por célula del original. Linux fue creado de nuevo, para tener la apariencia de Unix y satisfacer las mismas necesidades. Es menos un clon y más unreplicando.

Pero de cualquier forma, Linux era un kernel que buscaba un sistema operativo; GNU era un sistema operativo que buscaba un núcleo. En retrospectiva, lo que sucedió a continuación parece inevitable. También cambió el mundo.

El gran debate: ¿Es Linux o GNU/Linux?

¿Quién hace el desarrollo?

A Linux la distribución es la suma de muchas partes diferentes, extraídas de muchos lugares diferentes. El Linux kernel, el conjunto GNU de utilidades principales y las aplicaciones de usuario se combinan para hacer una distribución viable. Y alguien tiene que hacer esa combinación, mantenimiento y administración, al igual que alguien tiene que desarrollar el núcleo, las aplicaciones y las utilidades principales. Los mantenedores de distribución y las comunidades de cada distribución, todos juegan su papel en traer una Linux distribución a la vida tanto como lo hacen los desarrolladores del núcleo.

Linux es el resultado de un esfuerzo colaborativo distribuido realizado por voluntarios no remunerados, por organizaciones comoCanónicoysombrero rojoy personas patrocinadas por la industria.

Cada Unix comercial se desarrolla como una sola entidad coherente utilizando instalaciones de desarrollo internas o bien subcontratadas estrictamente controladas. A menudo, estos tienen un núcleo único y están diseñados específicamente para las plataformas de hardware proporcionadas por cada proveedor.

Los derivados gratuitos y de código abierto de la corriente BSD Unix, comoFreeBSD,OpenBSDyDragónBSD,utilice una combinación de código BSD heredado y código nuevo. Ahora son proyectos apoyados por la comunidad y administrados de una manera muy similar a las distribuciones de Linux.

Estándares y Cumplimiento

En general, Linux Es ningunoEspecificación única de Unix(SUS) compatible niPOSIXobediente. Intenta satisfacer ambos estándares sin ser esclavo de ellos. Ha habido una o dos (literalmente, una o dos) excepciones, comoInspur K-UXun chino Linux que es compatible con POSIX.

Un verdadero Unix, como las ofertas comerciales, es compatible. Algunos derivados de BSD, incluidas todas las versiones de macOS menos una, son compatibles con POSIX. Los nombres de variantes, como AIX, HP-UX y Solaris, son marcas registradas de sus respectivas organizaciones.

Marcas registradas y derechos de autor

Linux es una marca registrada de Linus Torvalds. ElBase de Linuxgestiona la marca en su nombre. El Linux Las utilidades kernel y core se publican bajo varios GNU.“copyleft” Licencias Públicas Generales. El código fuente está disponible gratuitamente.

Unix es una marca registrada de lagrupo abierto. Tiene derechos de autor, es propietario y es de código cerrado.

FreeBSD tiene derechos de autor de laProyecto FreeBSDy el código fuente está disponible.

Diferencias en uso

Desde la perspectiva de la experiencia del usuario, en la línea de comandos, no hay mucha diferencia visible. Debido a los estándares y el cumplimiento de POSIX, el software escrito en Unix se puede compilar para un Linux sistema operativo con una cantidad limitada de esfuerzo de portabilidad. Shell guiones, para examplese puede utilizar directamente en Linux en muchos casos con poca o ninguna modificación.

Algunas de las utilidades de línea de comandos tienen opciones de línea de comandos ligeramente diferentes, pero esencialmente el mismo arsenal de herramientas está disponible en ambas plataformas. De hecho,la IBMAIX tiene unCaja de herramientas de AIX para Linux Aplicaciones. Esto le permite al administrador del sistema instalar cientos de paquetes GNU (como Bash, GCC, etc.).

Los diferentes sabores de Unix tienen diferentesinterfaces gráficas de usuario(GUI) disponible para ellos, al igual que Linux. A Linux usuario familiarizado conGNOMOohCompañerotendrán que sentir su camino la primera vez que se encuentrenDÓNDEohxfce, pero pronto lo recogerán. Es similar a la variedad de GUI disponibles en Unix, comoRazón,Entorno de escritorio comúny elSistema X Windows. Todos son lo suficientemente similares para que cualquier persona que esté familiarizada con los conceptos de un entorno de ventanas con diálogos, menús e íconos pueda navegar por ellos.

Aprenderá más sobre las diferencias mientras administra los sistemas. Para examplehay diferentesen esomecanismos. Los derivados de System V Unix y BSD tienen diferentes sistemas de inicio. Las variantes gratuitas de BSD mantuvieron los esquemas de inicio de BSD. Por defecto, Linux Las distribuciones usarán un sistema de inicio derivado de Unix System V o systemd.

Por qué Linux’s systemd todavía es divisivo después de todos estos años

Cambio manual versus automático

Si puede conducir uno, puede conducir el otro, incluso si va a ser un poco lento para empezar.

Dejando a un lado el precio, las diferencias en filosofía, licencias, modelo de desarrollo, organización comunitaria y el tipo y estilo de gobierno son mayores y más significativas que las diferencias en las banderas de línea de comando entre, digamos, una versión degrepy otra.

Las mayores diferencias no son las que ves en la pantalla.

Actualizaciones del boletín

Ingrese su dirección de correo electrónico a continuación para suscribirse a nuestro boletín