unix vs linux what is difference between unix
Unix Vs Linux: aprenda cuál es la diferencia principal entre la arquitectura, el kernel y los comandos de UNIX y Linux
Linux no es más que un clon de UNIX escrito por Linus Torvalds desde cero con la ayuda de algunos piratas informáticos de todo el mundo.
Unix y los sistemas operativos similares a Unix son una familia de sistemas operativos de computadora que se derivan del sistema Unix original de Bell Labs, que se remonta a 1965.
Linux es la variante más popular y viene en varias distribuciones diferentes.
=> Haga clic aquí para ver la serie completa de tutoriales de Unix
Unix es una familia de sistemas operativos portátiles, multitarea y multiusuario, que también tienen configuraciones de tiempo compartido.
Los sistemas Unix utilizan un núcleo de sistema operativo centralizado que es responsable de administrar todo el sistema.
La interfaz de programación, la abstracción de archivos, la red incorporada y el procesamiento en segundo plano persistente llamados demonios son las otras características y capacidades que son compatibles con un sistema operativo Unix.
Lo que vas a aprender:
- ¿Qué es UNIX?
- ¿Qué es Linux?
- Diferencia entre Unix y Linux
- Linux vs kernel de Unix
- Comandos de Unix Vs Linux
- Conclusión
- Lectura recomendada
¿Qué es UNIX?
Unix se considera la madre de la mayoría de los sistemas operativos.
El diseño de los sistemas Unix se basa en la “Filosofía Unix” que incluye las siguientes características:
- Uso de texto sin formato para almacenamiento de datos.
- Sistema de archivos jerárquico.
- Manejo de dispositivos y algunos tipos específicos de comunicación entre procesos (IPC) como archivos.
- Empleando una gran cantidad de herramientas de software.
- Múltiples programas pequeños, simples y modulares que se pueden unir a través de un intérprete de línea de comandos usando tuberías, en contraste con el uso de un solo programa monolítico que comprende la misma funcionalidad.
Vale la pena mencionar aquí la siguiente cita sobre la filosofía Unix:
“Aunque esa filosofía no se puede escribir en una sola oración, ya que su corazón es la idea de que el poder de un sistema proviene más de las relaciones entre programas que de los programas mismos. Muchos programas de UNIX hacen cosas bastante triviales de forma aislada, pero, combinados con otros programas, se convierten en herramientas generales y útiles '. - Brian Kernighan y Rob Pike
Arquitectura Unix
El siguiente diagrama le mostrará la arquitectura Unix.
(imagen fuente )
El programa de control maestro de Unix es su Kernel. El kernel tiene control total sobre todo el sistema. Tiene subsistemas que ofrecen servicios para el manejo del sistema de archivos, manejo de recursos, manejo de memoria, programas de inicio y parada y algunas otras tareas básicas de bajo nivel.
El kernel es el corazón del sistema operativo y actúa como una interfaz entre el usuario y el hardware. Cada subsistema del kernel tiene ciertas características como simultaneidad, memoria virtual, paginación y un sistema de archivos virtual.
En las capas externas de la arquitectura, tenemos el shell, los comandos y los programas de aplicación. Shell es la interfaz entre el usuario y el kernel. Shell y el usuario teclean los comandos, interpretan estos comandos y llaman a los programas de computadora en consecuencia.
Ejemplo del sistema operativo Unix es Solaris y HP-UX. Los mayores distribuidores de sistemas UNIX incluyen IBM, HP y SUN.
Lectura recomendada => Tutoriales gratuitos de formación de Unix
¿Qué es Linux?
A estas alturas ya tendrías una idea clara sobre Unix. Exploremos ahora Linux en detalle.
La gente confunde mucho entre los términos Unix y Linux y generalmente hacen preguntas como '¿Es Unix diferente de Linux?' / '¿Linux y Unix son lo mismo?' / '¿Es Linux como Unix?' / '¿Está Linux construido sobre Unix?' .
Aquí está la respuesta a todas estas preguntas. Primero, déjame aclarar tu confusión en una sola línea. Linux y Unix son diferentes, pero tienen una relación entre sí, ya que Linux se deriva de Unix.
Linux no es Unix, pero es un sistema operativo similar a Unix. El sistema Linux se deriva de Unix y es una continuación de la base del diseño de Unix. Las distribuciones de Linux son el ejemplo más famoso y saludable de los derivados directos de Unix.BSD (Berkley Software Distribution) también es un ejemplo de un derivado de Unix.
En esta coyuntura, es importante para nosotros dejarle claro qué es similar a Unix.
Un sistema operativo similar a Unix (también llamado UN * X o * nix) es el que funciona de manera similar a los sistemas Unix, sin embargo, no es necesario que cumplan con la Especificación Única de UNIX (SUS) o POSIX (Portable Interfaz del sistema operativo) estándar.
SUS es un estándar que debe cumplirse para que cualquier sistema operativo pueda utilizar la marca comercial 'UNIX'. Esta marca registrada es otorgada por 'The Open Group'.
Algunos ejemplos de los sistemas UNIX registrados actualmente incluyen macOS, Solaris y AIX. Si consideramos el sistema POSIX, entonces Linux puede considerarse un sistema operativo similar a Unix.
Según el archivo README oficial del kernel de Linux, Linux es un clon de UNIX que es desarrollado desde cero por Linus Torvalds y su equipo. Tiene como objetivo el cumplimiento de POSIX. El código del kernel de Linux se escribió completamente desde cero. Está diseñado de tal manera que actúa como Unix pero no tiene el código original de Unix.
También es importante señalar que Linux es solo el kernel y no el sistema operativo completo . Este kernel de Linux generalmente está empaquetado en distribuciones de Linux, lo que lo convierte en un sistema operativo completo.
Por lo tanto, Linux es solo el kernel, mientras que las distribuciones de Linux pueden tratarse como el sistema operativo. Por otro lado, UNIX en sí mismo es un sistema operativo completo, ya que todo (todas las aplicaciones necesarias unidas) proviene de un solo proveedor. Por ejemplo, Solaris.
La distribución de Linux (también llamada como una distribución en breve) es un sistema operativo que se crea a partir de una colección de software construido sobre el Kernel de Linux y es un sistema de administración de paquetes.
Una distribución estándar de Linux consta de un kernel de Linux, un sistema GNU, utilidades GNU, bibliotecas, compilador, software adicional, documentación, un sistema de ventanas, un administrador de ventanas y un entorno de escritorio.
La mayor parte del software incluido en la distribución de Linux es gratuito y de código abierto. Pueden incluir algún software propietario, como blobs binarios, que es esencial para algunos controladores de dispositivo.
Arquitectura de SO basada en Linux
(imagen fuente )
Por lo tanto, las distribuciones de Linux hacen que el kernel de Linux sea completamente utilizable como sistema operativo al agregarle diferentes aplicaciones. Hay varios tipos de distribuciones de Linux que satisfacen una amplia gama de necesidades de los usuarios.
Por ejemplo , tenemos el sistema operativo OpenWrt Linux para dispositivos integrados, Linux Mint para computadoras personales y Rocks Cluster Distribution para supercomputadoras. En total, existen alrededor de 600 distribuciones de Linux.
Le resultará interesante saber que el popular sistema operativo Android de Google para dispositivos móviles se basa en Linux. Cada iteración del sistema operativo Android se basa en el kernel de Linux actual.
Diferencia entre Unix y Linux
Linux | Unix y otras variantes |
---|---|
Diferentes variantes mantenidas por diferentes comunidades; con el núcleo fusionándose con la rama mantenida por Linus | Diferentes variantes mantenidas por diferentes empresas; cada uno mantiene su propio kernel |
Linux se refiere al kernel del sistema operativo GNU / Linux. De manera más general, se refiere a la familia de distribuciones derivadas. | Unix se refiere al sistema operativo original desarrollado por AT&T. De manera más general, se refiere a la familia de sistemas operativos derivados. |
Código original desarrollado por Linus y la Fundación GNU | Código original desarrollado por AT&T |
La marca Linux es propiedad de Linus Trovalds y está administrada por Linux Mark Institute bajo la Fundación Linux. | La marca comercial UNIX está certificada por Open Group. Lista de sistemas operativos certificados. |
La Linux Standard Base (LSB), disponible como ISO / IEC 23360, es un esfuerzo de estandarización de varios distribuidores de Linux. LSB es principalmente una extensión de POSIX, pero tiene algunas diferencias. Sin embargo, no existe una gran necesidad de certificación LSB, ya que las diversas distribuciones utilizan el mismo kernel en cualquier caso. | Certificación UNIX basada en la 'Especificación Unix Única', que es una extensión de IEEE 1003 (POSIX), también disponible como ISO / IEC 9945. POSIX especifica API de programación e interfaces de shell y utilidades. POSIX se desarrolló como una forma de permitir la interoperabilidad entre diferentes proveedores de UNIX. |
GNU / Linux y derivados como Debian y Fedora | System-V Unix y derivados como IBM-AIX y HP-UX; Berkeley Unix y derivados como FreeBSD y macOS |
Código abierto bajo la licencia pública general copyleft | Berkeley Unix es parcialmente de código abierto bajo la licencia BSD. La fuente System-V Unix puede adquirirse con una licencia comercial propietaria. |
Diseñado como una plataforma escalable de uso general para un amplio conjunto de aplicaciones. | Suele estar diseñado para una audiencia limitada con un conjunto definido de plataformas y aplicaciones de destino. |
Ampliamente disponible como descarga e instalador de software configurable. | Normalmente se envía junto con el hardware, p. Ej. MacBook |
Soporte comunitario gratuito. Soporte pagado disponible de varios proveedores de servicios. | Soporte comercial pagado. A menudo conduce al bloqueo del proveedor. |
Las interfaces a menudo evolucionan | Interfaces generalmente estables |
Actualizaciones frecuentes, con rápida corrección de errores | Actualizaciones poco frecuentes y las correcciones pueden llevar tiempo |
Admite casi todos los sistemas de archivos utilizados en todos los sistemas operativos | La mayoría de las versiones admiten dos o quizás tres sistemas de archivos |
Amplia variedad de herramientas de administración del sistema a menudo con un enfoque limitado, p. Suse YAST | Cada versión suele tener una herramienta de administración del sistema madura, p. Ej. HP SAM |
Sistema operativo preferido para la implementación en la nube y los centros de datos principalmente por razones económicas | Sistema operativo preferido para requisitos de servidor de propósito especial debido a la disponibilidad de la aplicación y servidores de Internet por razones heredadas |
Escalabilidad lograda mediante clústeres, cuadrículas o nube. | Escalabilidad lograda mediante clústeres o cuadrículas |
(Un clúster es una colección de computadoras homogéneas, una cuadrícula es una colección de computadoras distribuidas y un servicio en la nube es una colección de clústeres virtualizados). | |
La mayoría de las utilidades gráficas y de línea de comandos son similares a Unix | La mayoría de las utilidades gráficas y de línea de comandos son similares a Linux |
Esperamos que haya entendido las diferencias fundamentales entre Unix y Linux a partir de este artículo.
Veamos ahora algunas diferencias más importantes entre Linux y Unix en el siguiente formato tabular:
Características | Linux | Unix |
---|---|---|
Versión inicial | Linux es más nuevo en comparación con Unix. Se derivó de Unix y se lanzó en septiembre de 1991. | Unix es más antiguo. Fue lanzado en octubre de 1973 para terceros. Antes de eso, se usaba internamente en Bell Labs desde sus inicios en 1970. |
Desarrollador | Inspirado en MINIX (un sistema operativo similar a Unix), Linux fue desarrollado originalmente por el ingeniero de software finlandés-estadounidense Linus Torvalds. Dado que es de código abierto, tenemos desarrolladores comunitarios para Linux. | Originalmente derivado de AT&T Unix, fue desarrollado en Bell Labs por Kenneth Lane Thompson, Dennis Ritchie y otros 3. |
Escrito en | C y otros lenguajes de programación. | C y lenguaje ensamblador. |
Familia OS | Tipo Unix | Unix |
Estado de trabajo | Actual | Actual |
Modelo fuente | Fuente abierta | Mezclado. Sin embargo, tradicionalmente de código cerrado, pocos proyectos de Unix son de código abierto, como el sistema operativo illumos y el sistema operativo BSD (Berkley Software Distribution). |
Disponible en | Plurilingüe | inglés |
Tipo de kernel | Núcleo monolítico | El tipo de kernel varía. Puede ser monolítico, microkernel e híbrido. |
Licencia | GNUv2 (Licencia pública general GPL) y otros. | Las licencias varían. Pocas versiones son propietarias, mientras que otras son gratuitas / OSS. |
Página web oficial | https://www.kernel.org/ | http://opengroup.org/unix |
Interfaz de usuario predeterminada | Shell de Unix | CLI (interfaz de línea de comandos) y gráfico (sistema X Windows) |
Interfaz de modo de texto | Por defecto, el shell es BASH (Bourne Again Shell). Además, es compatible con muchos intérpretes de comandos. | Originalmente el caparazón de Bourne. También es compatible con muchos intérpretes de comandos. |
Costo | Se puede obtener y utilizar libremente. También hay versiones económicas de Linux. Pero, en general, Linux es más barato que Windows. | Los sistemas operativos patentados tienen diferentes estructuras de costos establecidas en consecuencia por los proveedores que lo venden. |
Ejemplos | Debian, Ubuntu, Fedora, Red Hat, Android, etc. | IBM AIX, Solaris, HP-UX, Darwin, macOS X, etc. |
Arquitectura | Se creó originalmente para el hardware x86 de Intel, puertos disponibles para muchos tipos de CPU. | Compatible con máquinas PA e Itanium. Solaris también está disponible en x86 / x64. OSX es PowerPC. |
Detección y solución de amenazas | Como Linux es impulsado principalmente por la comunidad de código abierto, muchos desarrolladores en diferentes partes del mundo están trabajando en el código. Por lo tanto, la detección y solución de amenazas es bastante rápida en el caso de Linux. | Debido a la naturaleza propietaria de Unix, los usuarios deben esperar los parches adecuados para corregir errores. |
Seguridad | Tanto el sistema operativo basado en Linux como en Unix generalmente se considera muy bien protegido contra el malware. Esto se debe a la falta de acceso de root, actualizaciones rápidas y una participación de mercado comparativamente baja (en comparación con Windows). A partir de 2018, no ha habido ningún virus Linux generalizado. | Unix también se considera muy seguro. Es incluso más difícil de infectar ya que la fuente tampoco está disponible. Hoy en día, no existe un virus que se propague activamente para Unix. |
Precio | Linux es gratis. Sin embargo, el soporte corporativo está disponible por un precio. | Unix no es gratis. Sin embargo, algunas versiones de Unix son gratuitas para su uso en desarrollo (Solaris). En un entorno colaborativo, Unix cuesta $ 1,407 por usuario y Linux cuesta $ 256 por usuario. Por tanto, UNIX es extremadamente caro. |
Linux vs kernel de Unix
Como Linux solo es solo un kernel, vale la pena discutir las principales diferencias entre el kernel de Linux y el kernel de Unix.
Hay tres tipos de kernel, es decir, monolítico, micro e híbrido (combinación de monolítico y micro) como se ve en la imagen de abajo.
(imagen fuente )
En la arquitectura de kernel monolítica, todo el sistema operativo funciona en un solo espacio de kernel. Define por sí solo una interfaz virtual de alto nivel sobre el hardware de la computadora.
Aunque el kernel de Linux deriva la mayoría de sus características de kernels tipo Unix / Unix, sin embargo, existen algunos puntos importantes de diferencias entre los dos.
En la arquitectura de microkernel, los servicios centrales del SO se ejecutan en un proceso mientras que los otros servicios se ejecutan en diferentes procesos.
En µ kernel, la cantidad casi mínima de mecanismos se incluye en el modo kernel. Estos mecanismos incluyen IPC básico (comunicación entre procesos), programación y gestión del espacio de direcciones de bajo nivel.
En términos del tamaño del código fuente, generalmente, un microkernel es más pequeño que el kernel monolítico.
Características | Kernel de Linux | Kernel de Unix |
---|---|---|
Enfoque de kernel | Linux sigue el enfoque del kernel monolítico. | El núcleo de Unix puede ser monolítico, microkernel o híbrido. Por ejemplo, macOS tiene un kernel híbrido, Solaris tiene el kernel monolítico y AIX tiene un kernel monolítico con módulos cargables dinámicamente. |
Agregar / eliminar funciones del kernel | Proporciona una gran característica a través de la cual los componentes del kernel, como las unidades de dispositivo, se pueden agregar y eliminar dinámicamente como módulos. Esta característica se denomina módulos de kernel cargables (LDM). Esto elimina la necesidad de volver a compilar todo el kernel. Esta característica, a su vez, le da una gran flexibilidad a Linux. | El núcleo de los sistemas Unix tradicionales necesita un enlace estático de los nuevos sistemas que se agregan. |
Corrientes | En Linux, no hay un subsistema de E / S de flujos. | En la mayoría de los kernels de Unix, se incluye el subsistema de E / S de streams, que resulta ser la interfaz deseada para escribir controladores de dispositivos, controladores de terminal, etc. |
Enfoque preventivo vs no preventivo | Normalmente, un kernel de Linux no es preventivo. Sin embargo, en los últimos tiempos, el sistema operativo Linux en tiempo real ha comenzado a usar núcleos preventivos. | Algunos sistemas Unix son completamente preventivos. Por ejemplo, Solaris 2.x. etc. |
Hilo de kernel | Linux usa el hilo del kernel solo para ejecutar algún código del kernel periódicamente. | Muchos sistemas operativos similares a Unix usan subprocesos del núcleo con el propósito de cambiar el contexto del proceso. |
Formas de manejar el entorno de subprocesos múltiples | A través de múltiples subprocesos, se crean más de un flujo de ejecución independiente que se denominan procesos ligeros (LWP). En Linux, LWP se crea llamando a la función clone (). Estos procesos en Linux pueden compartir memoria física, archivos abiertos, espacio de direcciones, etc. | En Unix, el LWP se basa en subprocesos del kernel. |
Comandos de Unix Vs Linux
Existen ciertas diferencias entre los comandos de shell, es decir, incluso entre las versiones de la misma variante de Unix. Sin embargo, lo que más varía es el shell interno que está integrado en lugar de la presentación.
En general, se hacen esfuerzos para mantener Linux lo más cerca posible de Unix cumpliendo con los estándares POSIX. Por lo tanto, los comandos de terminal en las distribuciones de Linux y los sistemas operativos Unix no son exactamente los mismos, pero tampoco hay muchas diferencias.
Cada distribución de Linux en sí misma tiene su propia forma de ejecución.
Por ejemplo , en CentOS, que es un sistema operativo de la familia Linux, usamos comandos yum (modificador de actualización de yellowdog) para la instalación de nuevos paquetes, mientras que en Debian, que es otro sistema operativo de la familia Linux, usamos los comandos apt-get para la instalación.
En IBM AIX, que es un sistema operativo Unix propietario, utilizamos -dedo comando para verificar quién está conectado al sistema. Pero este comando no se usa en Linux. En Linux, usamos el meñique comando para obtener el mismo resultado.
En Ubuntu / Debian (un sistema operativo Linux), tenemos fdisk, parted, gparted comandos para la tarea 'crear'. Por otro lado, en Solaris (un sistema operativo Unix), tenemos un formato, fmthard para la tarea 'crear' .
Puede consultar la lista de comandos de Linux y Unix, encontrará que los comandos de Linux y Unix son similares pero no exactamente iguales.
Ejemplos
mejor VPN para firestick
Hasta ahora, en este artículo, hemos visto las diferencias básicas generalizadas entre Linux y Unix. Estas diferencias pueden ser más específicas si comparamos las versiones exactas de los dos. Veamos esto a través de algunos ejemplos.
Solaris vs Linux
Solaris, que ahora se llama Oracle Solaris, es un sistema operativo de la familia Unix. Comparemos Linux con Solaris.
Linux admite más arquitecturas de sistema que Solaris. Por tanto, Linux es más portátil.
Mientras se habla de estabilidad e integración de hardware, Solaris parece estar mejor aquí. Linux también tiene una tasa de desarrollo más rápida en comparación con Solaris.
Hay algunas otras diferencias técnicas entre los dos, pero aquí limitamos nuestra comparación solo al rendimiento.
MacOS vs Linux
MacOS es un sistema operativo Unix certificado. Tiene su propio núcleo llamado XNU. Se utiliza en las computadoras de Apple, que se consideran las más confiables.
MacOS es relativamente fácil de configurar. Por otro lado, Linux es más barato y tiene una gran cantidad de software de código abierto disponible en comparación con las soluciones propietarias de Apple. Además, Linux es más flexible ya que se puede ejecutar en casi cualquier hardware, mientras que MacOS solo se puede ejecutar en hardware de Apple. Por ejemplo , iPhones.
MacOS usa HFS + como sistema de archivos predeterminado, mientras que Linux usa ext4.
Conclusión
Unix es muy antiguo y se dice que es la madre de todos los sistemas operativos. El kernel de Linux también se deriva de Unix. La principal diferencia entre los sistemas operativos basados en Unix y Linux no está en la parte de presentación, sino en cómo funcionan internamente, es decir, principalmente en la parte del kernel.
La diferencia entre los dos también dependerá de las versiones exactas de Linux y Unix que esté comparando.
También es esencial afirmar que Linux (y muchos otros sistemas operativos similares a Unix) se pueden obtener y modificar libremente, mientras que los sistemas operativos Unix no lo son. El costo siempre es una preocupación importante al decidir qué tecnología usar, y Linux tiene una ventaja en este sentido.
Linux es más flexible y gratuito en comparación con los verdaderos sistemas Unix y es por eso que Linux ha ganado más popularidad. Al discutir los comandos en Unix y Linux, no son los mismos, pero son muy similares. De hecho, los comandos de cada distribución del mismo sistema operativo familiar también varían.
Solaris, HP, Intel, etc. emplean servidores de Internet, estaciones de trabajo y computadoras personales Unix. Si bien, Linux se emplea ampliamente para software y hardware de computadora, juegos, tabletas, mainframes, etc.
Hay estudios que dicen que Linux está creciendo más rápido que cualquier otro sistema operativo en los últimos años. Por lo tanto, en el futuro, Linux puede tender a dejar muy atrás las instalaciones de UNIX.
Referencias: Linux Unix, Distribución de Linux, Libro: El entorno de programación Unix
Espero que hayas disfrutado de este artículo informativo sobre la diferencia entre Unix y Linux.
=> Haga clic aquí para ver la serie completa de tutoriales de Unix
PREV Tutorial | SIGUIENTE Tutorial
Lectura recomendada
- Qué es Unix: una breve introducción a Unix
- Comandos Unix: Comandos Unix básicos y avanzados con ejemplos
- Comandos de procesamiento de texto Unix: filtros Unix con ejemplos
- Tutorial de Unix Pipes: Pipes en la programación Unix
- Diferencia entre Linux y Windows: ¿Cuál es el mejor sistema operativo?
- Más comandos Unix Filter y Awk, Sed en el procesamiento de texto
- Tutorial de UNIX para principiantes (más de 20 videos de capacitación en profundidad de Unix)
- Cómo comparar dos archivos en Unix: comandos de comparación de archivos