Linux se inspiró en 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 dedicado 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, ¿verdad? 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 comprender algunas de las influencias que han dado forma a Unix y Linux, necesitamos comprender sus historias de fondo.
Los orígenes de Unix
Unix tiene más de 50 años. Fue desarrollado en lenguaje ensamblador de Digital Equipment Corporation (DEC) en un DEC PDP / 7 como un proyecto no oficial en Bell Labs , entonces propiedad de AT&T . En breve se transfirió a una computadora DEC PDP / 11/20 , luego se extendió de manera constante a otras computadoras en Bell. Una reescritura en el lenguaje de programación C condujo a la Versión 4 de 1973 de Unix. Esto fue significativo porque las características del lenguaje C y el compilador significaban que ahora era relativamente fácil portar Unix a nuevas arquitecturas de computadora.
En 1973, Ken Thompson y Dennis Ritchie presentaron un artículo sobre Unix en una conferencia. Como resultado, las solicitudes de copias de Unix se vertieron en Bell. Debido a que la venta de sistemas operativos quedaba fuera del alcance de operaciones permitido de AT&T, no podían tratar a Unix como un producto. Esto llevó a Unix a ser distribuido como código fuente con una licencia. Los costos nominales fueron suficientes para cubrir el envío y el embalaje y una "regalía razonable". Unix llegó "tal cual", sin soporte técnico y sin correcciones de errores. Pero obtuvo el código fuente, y podría 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 la Universidad de California, Berkeley . Junto con algunos estudiantes graduados, comenzó a agregar y mejorar su copia local de Unix. El interés externo en las adiciones de Berkeley creció, lo que llevó al primer lanzamiento de Berkeley Software Distribution (BSD). Esta era una colección de programas y modificaciones del sistema que se podían agregar a un sistema Unix existente, pero no era un sistema operativo independiente. Las versiones posteriores de BSD fueron sistemas completos de Unix.
Ahora había dos sabores principales de Unix, el flujo AT&T y el flujo BSD. Todas las demás variantes de Unix, como AIX , HP-UX y Oracle Solaris, son descendientes de estas. En 1984, se lanzaron algunas de las restricciones sobre 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 Stallman se 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 usar el software de cualquier manera que el usuario lo considere conveniente.
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ó el Proyecto GNU en 1983 para desarrollar el sistema operativo. En 1985, fundó la Free Software Foundation para promover, financiar y apoyar el proyecto GNU.
Todas las áreas del sistema operativo GNU estaban haciendo un buen progreso, aparte del núcleo. Los desarrolladores del proyecto GNU estaban trabajando en un microkernel llamado GNU Hurd , pero el progreso fue lento. (Todavía está en desarrollo hoy y se está acercando a una versión). Sin un núcleo, no habría sistema operativo.
En 1987, Andrew S. Tanebaum lanzó un sistema operativo llamado MINIX (mini-Unix) como una ayuda de enseñanza para los estudiantes que estudian el diseño del sistema operativo. 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. Alguna funcionalidad tuvo que ser sacrificada.
Para comprender mejor el funcionamiento interno del Intel 80386 en su nueva PC, un estudiante de ciencias de la computación llamado Linus Torvalds escribió un código simple de cambio de tareas como ejercicio de aprendizaje. Finalmente, este código se convirtió en un proto-kernel elemental que se convirtió en el primer kernel de Linux. Torvalds estaba familiarizado con MINIX. De hecho, su primer núcleo se desarrolló en MINIX utilizando el compilador GCC de Richard Stallman.
Torvalds decidió crear su propio sistema operativo que superó las limitaciones del MINIX diseñado para la enseñanza. En 1991, hizo su famoso anuncio sobre el grupo MINIX Usenet , pidiendo 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 como 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 un replicante .
Pero de cualquier manera, Linux era un núcleo que buscaba un sistema operativo; GNU era un sistema operativo que buscaba un núcleo. En retrospectiva, lo que sucedió después parece inevitable. También cambió el mundo.
RELACIONADO: El gran debate: ¿es Linux o GNU / Linux?
¿Quién hace el desarrollo?
Una distribución de Linux es la suma de muchas partes diferentes, extraídas de muchos lugares diferentes. El kernel de Linux, el conjunto de utilidades principales de GNU y las aplicaciones de usuario se combinan para hacer una distribución viable. Y alguien tiene que hacer eso combinando, manteniendo y administrando, al igual que alguien tiene que desarrollar el núcleo, las aplicaciones y las utilidades principales. Los encargados del mantenimiento de la distribución y las comunidades de cada distribución juegan su papel en dar vida a una distribución de Linux tanto como lo hacen los desarrolladores del kernel.
Linux es el resultado de un esfuerzo colaborativo distribuido realizado por voluntarios no remunerados, por organizaciones como Canonical y Red Hat , y personas patrocinadas por la industria.
Cada Unix comercial se desarrolla como una entidad coherente única que utiliza instalaciones de desarrollo internas (o tercerizadas). A menudo, estos tienen un núcleo único y están diseñados específicamente para las plataformas de hardware suministradas por cada proveedor.
Los derivados gratuitos y de código abierto de la secuencia BSD Unix, como FreeBSD , OpenBSD y DragonBSD, utilizan una combinación de código BSD heredado y código nuevo. Ahora son proyectos respaldados por la comunidad y se gestionan de manera muy similar a las distribuciones de Linux.
Estándares y Cumplimiento
En general, Linux no es compatible con Single Unix Specification (SUS) ni POSIX . Intenta satisfacer ambos estándares sin ser esclavo de ellos. Ha habido una o dos, literalmente, una o dos, excepciones, como Inspur K-UX , un Linux chino que cumple con POSIX.
Un verdadero Unix, como las ofertas comerciales, es compatible. Algunos derivados de BSD, incluidas todas las versiones de macOS excepto 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 Copyright
Linux es una marca registrada de Linus Torvalds. La Fundación Linux administra la marca registrada en su nombre. El núcleo de Linux y las utilidades principales se lanzan bajo varias licencias públicas generales "copyleft" de GNU . El código fuente está disponible gratuitamente.
Unix es una marca registrada de Open Group . Tiene copyright, propiedad y código cerrado.
FreeBSD tiene copyright del Proyecto FreeBSD y el código fuente está disponible.
Diferencias de uso
Desde la perspectiva de la experiencia del usuario, en la línea de comando, no hay mucha diferencia visible. Debido a los estándares y el cumplimiento de POSIX, el software escrito en Unix puede compilarse para un sistema operativo Linux con un esfuerzo limitado de portabilidad. Los scripts de shell, por ejemplo, se pueden usar 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 cualquier plataforma. De hecho, AIX de IBM tiene una caja de herramientas AIX para aplicaciones Linux . Esto permite al administrador del sistema instalar cientos de paquetes GNU (como Bash, GCC, etc.).
Los diferentes sabores de Unix tienen diferentes interfaces gráficas de usuario (GUI) disponibles para ellos, al igual que Linux. Un usuario de Linux familiarizado con GNOME o Mate tendrá que sentirse bien la primera vez que se encuentre con KDE o Xfce , pero pronto lo retomará. Es similar al rango de GUI disponibles en Unix, como Motif , Common Desktop Environment y el sistema X Windows . Todos son lo suficientemente similares como para que cualquier persona que esté familiarizada con los conceptos de un entorno en ventanas con diálogos, menús e iconos pueda navegarlos.
Aprenderá más sobre las diferencias mientras administra los sistemas. Por ejemplo, hay diferentes mecanismos de inicio . Los derivados del sistema V Unix y las secuencias BSD tienen diferentes sistemas de inicio. Las variantes BSD gratuitas mantuvieron los esquemas de inicio BSD. Por defecto, las distribuciones de Linux usarán un sistema init derivado de Unix System V o systemd .
RELACIONADO: ¿Por qué el sistemad de Linux sigue siendo divisivo después de todos estos años?
Stick Shift vs. Automático
Si puede conducir uno, puede conducir el otro, incluso si va a ser un poco difícil de comenzar.
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 más grandes y significativas que las diferencias en las banderas de línea de comando entre, por ejemplo, una versión de grep y otra.
0 Comentarios