Unix vs Linux

Unix vs Linux

Este articulo viene a colación sobre la alta confusión que existe sobre Unix y Linux, y es que estoy un poco harto de ver artículos por la red con el titulo «Como instalar Unix», cuando realmente son simples tutoriales de como instalar Ubuntu u otras distribuciones linux. Por dios…., Unix no es Linux.

No seré yo el que rebata las enseñanzas del actual profesorado, sus motivos tendrán para tal afirmación pero es errónea y ademas grave (los que llevan muchos años en este mundo saben de que hablo). Linux es un derivado de Unix (o una copia) eso está claro, pero no tienen nada que ver ni es su concepto, ni en su fin.

Antes de Linux, MacOS o Windows, Unix dominaba el mundo de la informática, y esta no sería lo que es actualmente sin la visión de Ken Thompson y Dennis Ritchie que anticipándose a los tiempos, y junto a otros colaboradores como Bell Labs crearon un entorno de programación colaborativo que ahora conocemos como «desarrollo abierto».

Hoy conocemos sus principales diferencias entre Unix y Linux, a ver si se disipan las dudas de muchos usuarios

Unix vs Linux

No voy a sacar ninguna bandera a favor de Unix o Linux, son diferentes. Una cosa si puedo afirmar, los linuxeros más viejos del lugar comenzaron con derivados de Unix al estilo BSD o similares. Actualmente quedan pocas alternativas puras, podíamos hablar de Oracle Solaris, FreeBSD (excelente sistema operativo) y poco más que sea accesible para un usuario común (no profesional).

Bueno…vamos a dejarnos de chachara y vamos al articulo, jaja.

¿Qué es UNIX?

Unix es considerada como la madre de la mayoría de sistemas operativos. Su diseño se basa en la «Filosofía Unix»:

  • Almacenamiento de datos en texto plano.
  • Sistema de archivos jerárquico.
  • Manejo de dispositivos (también otros específicos de comunicación) entre procesos (IPC) como archivos.
  • Uso de muchas herramientas de software.
  • Aplicaciones pequeñas, simples y modulares que se puedan fusionar con un intérprete en línea de comandos.
  • No a los programas monolíticos, son pesados y no permiten su diversificación.

Cita sobre la filosofía de Unix:

“Nuestra filosofía no se puede escribir en una sola frase, ya que su principio es la idea de que el poder de un sistema proviene más de las relaciones entre los programas que de los propios programas. Muchas aplicaciones de UNIX hacen su trabajo de forma aislada, pero combinadas con otras se convierten en herramientas muy útiles incluso para usos generales. ” – Brian Kernighan y Rob Pike.

Arquitectura de Unix

El Kernel de Unix tiene el control total sobre el sistema. Tiene otros subsistemas que manejan los servicios como el sistema de archivos, los recursos, la administración de memoria, aplicaciones de inicio y otras tareas básicas de bajo nivel.

El núcleo es el corazón del sistema operativo, y ejerce como si fuera una interfaz entre el usuario y el hardware. Cada subsistema del kernel tiene sus propias características como concurrencia, memoria virtual, paginación y su sistema de archivos virtual.

En las capas externas de la arquitectura Unix, nos encontramos con la shell, sus comandos y herramientas. La shell (mal llamada terminal o consola) es la interfaz entre el usuario y el núcleo; cuando el usuario introduce comandos, estos son interpretados y llaman a las herramientas o aplicaciones que corresponda.

Ejemplo del sistema operativo Unix es Solaris y HP-UX. Los mayores distribuidores de sistemas UNIX incluyen IBM, HP y SUN.

 

¿Qué es Linux?

Como ya dijimos anteriormente se confunden los términos Unix y Linux; muchos usuarios se hacen las siguientes preguntas:

  • ¿Linux y Unix son lo mismo?
  • ¿Cuales son las diferencias entre Unix y Linux?
  • ¿Linux es como Unix?
  • ¿Linux basado en Unix?

Estas preguntas se pueden responder en una sola linea…

Linux y Unix son diferentes pero tienen similitudes, recuerda que Linux es un clon de Unix.

Linux no es Unix, pero si es similar, podríamos decir que es una continuación de la base del diseño de Unix. Las muchas y excelentes distribuciones Linux son el mejor ejemplo de ello, BSD (Berkley Software Distribution) y su derivado FreeBSD también es otro buen ejemplo (aunque derivo por otro camino).

Podemos decir que un sistema operativo de tipo Unix, es el que funciona de manera similar a los Unix puros sin que sea necesario que cumpla con la especificación UNIX (SUS), o POSIX (interfaz portátil del sistema operativo). De todas formas si se quiere que The Open Group lo certifique como Unix, debe cumplir el standard.

Pocos sistemas UNIX están registrados como tal, podemos hablar de macOS, Solaris y AIX. Y si tenemos en cuanta POSIX, Linux lo consideramos como un sistema operativo parecido a Unix, pero no Unix

Si leemos el archivo readme del kernel Linux, nos dice que Linux es un clon de UNIX desarrollado desde cero por Linus Torvalds y su equipo. OJO!!!, este texto es solo para cumplir el standard POSIX, porque si el kernel Linux fue escrito desde cero y se diseño para que trabajara como Unix, pero no contiene el código original de Unix… no lo podríamos considerar como derivado de Unix.

Otro detalle importante que muchos pasan por alto y que deriva en equivocaciones, es que Linux solo es el núcleo y no el sistema operativo completo. Otros desarrolladores empaquetan el kernel Linux en sus distribuciones, ahora si que se considera un sistema operativo completo.

No lo olvides, Linux es solo el Kernel, solo las distribuciones Linux se consideran como sistemas operativos. Si lo comparamos con UNIX, este si es un sistema operativo completo pues todo proviene del mismo desarrollador.

En resumen, una distribución Linux es un sistema operativo creado sobre el kernel de Linux al que se adjuntan varias aplicaciones entre las que se encuentra el sistema de administración de paquetes.

Una distribución estándar Linux consta de un kernel Linux, un sistema GNU, utilidades GNU, bibliotecas, compiladores, software adicional, documentación, un sistema de ventanas, un administrador de ventanas y un entorno de escritorio. Normalmente todo es gratuito y de código abierto.

Diferencias entre UNIX y Linux

Diferencias entre UNIX y Linux

 

Diferencias entre UNIX y Linux

Diferencias de concepto
UNIXLINUX
Sistema operativo original desarrollado por AT&TNúcleo del sistema operativo GNU / Linux
Código original desarrollado por AT&TCódigo original desarrollado por Linus y la Fundación GNU
La marca UNIX está certificada por Open GroupLa marca Linux es propiedad de Linus Trovalds y es administrada por Linux Mark Institute de la Fundación Linux
System-V Unix y derivados como IBM-AIX y HP-UX; Berkeley Unix y derivados como FreeBSD y macOSGNU / Linux y derivados como Debian o Fedora
Unix es parcialmente de código abierto con la Licencia BSD. La fuente de System-V Unix tiene licencia comercial patentadaCódigo abierto con licencia copyleft
Los derivados son mantenidos por empresas incluyendo el núcleoLas distros son mantenidas por la comunidad aplicando el kernel de Linux Torvalds
Diseñado para un público minoritario y para un conjunto definido de plataformas y aplicacionesDiseñado como plataforma escalable de uso general
Soporte con costeSoporte comunitario gratuito / Soporte con coste de proveedores de servicios
Interfaces muy establesInterfaces que evolucionan constantemente con el peligro de inestabilidad u otros problemas derivados
Pocas actualizaciones, no son necesariasDebido a la rápida evolución de las herramientas, las actualizaciones son frecuentes
Admite pocos sistemas de archivosAdmite la mayoría de sistemas de archivos
Cada variante tiene su potente herramienta de administración de sistemaLas herramientas de administración de sistema son muy limitadas y a veces de terceros
Indicada para servidores y usuarios con altos conocimientosValida para la mayoría de entornos
Las herramientas en línea de comandos y las utilidades gráficas son similares a LinuxLas herramientas en línea de comandos y las utilidades gráficas son similares a Unix
Diferencias de desarrollo
 UNIXLINUX
DesarrolloDesarrollado en Bell Labs por Kenneth Lane Thompson, Dennis Ritchie y otros apoyosInspirado en MINIX (similar a Unix), Linux fue desarrollado por Linus Torvalds. Al ser de código abierto muchos programadores colaboran con la comunidad linux
Escrito enC y lenguaje ensambladorC y otros lenguajes de programación
OS familyUnixUnix-like
Estado del desarrolloActualActual
Tipo de fuenteNormalmente de código cerrado. Existen sistemas operativos Unix open source como illumos y BSD; FreeBSD, Solaris, OpenIndiana, OmniOS, etcOpen source
LenguajeInglesMuchos idiomas
Primer lanzamientoFue lanzado externamente en octubre de 1973, pero se venia utilizando en Bell Labs desde 1970Septiembre de 1991
Tipo de kernelExisten versiones monolíticas pero como norma general se compone de varios microkernelKernel monolítico (al ser monolítico se vuelve muy pesado en maquinas antiguas)
Tipo de licenciaPuede variar, algunas son propietarias y otras free/OSSGNUv2 (GPL General Public License)
Sitio web oficialhttp://opengroup.org/unixhttps://www.kernel.org
Interfaz de usuario predeterminadaCLI (Command Line Interface) and Graphical (X Windows system)Unix shell
Interfaz en modo textoOriginalmente Bourne shell, pero es compatible con otros interpretes de comandosPor defecto BASH, pero es compatible con otros interpretes de comandos
Coste ($ / €)Depende de la empresa propietaria. Ya vimos en esta tabla que también existen versiones open sourceLo puedes conseguir y usar libremente. Existen distribuciones con añadidos específicos, normalmente empresariales que si tienen un coste
Algunos ejemplosIBM AIX, Solaris, HP-UX, Darwin, macOS X, etc...Debian, Ubuntu, Fedora, Red Hat, Android, etc...
Detección y solución de erroresLos errores son poco comunes, si se da el caso, y como suelen ser sistemas propietarios deberás esperar el parche correspondienteLinux está impulsado la comunidad open, muchos desarrolladores de todo el mundo trabajan continuamente en el código. La detección y solución de errores es bastante rápida
SeguridadUnix se considera muy seguro. Es aún más difícil de infectar que linux. Actualmente no hay virus en propagación activosLinux se considera muy bien protegido contra el malware. Esto es por la falta de acceso a la raíz, y las rápidas actualizaciones. Desde 2018, no se ha extendido ningún nuevo virus

 

El Kernel: Unix vs Linux

Como podemos apreciar en la siguiente imagen, existen tres tipos de kernel: monolítico, micro e híbrido (combinación de monolítico y micro).

Tipos de Kernel

Tipos de Kernel

En una arquitectura de núcleo monolítico, todo el sistema operativo funciona desde un único núcleo. Este sistema es el más extendido pero tiene la pega de requerir un hardware más potente, pues utiliza una interfaz virtual de alto nivel.

El núcleo de Linux tiene características similares a los de Unix, pero existen puntos que los diferencian en gran medida.

En la arquitectura de microkernel, los servicios centrales del sistema se ejecutan en un solo proceso, el resto de servicios en diferentes procesos. El tamaño del código fuente de los micro es mucho menor, eso repercute de manera considerable en un rendimiento superior.

Características del Kernel
 Kernel UnixKernel Linux
TipoEl núcleo de Unix puede ser monolítico, microkernel o híbrido, depende del sistema elegidoMonolítico
Agregar o eliminar característicasEl kernel Unix necesita la vinculación estática de los nuevos sistemas que se agreganLos componentes del núcleo, las unidades de dispositivo, se pueden agregar y eliminar dinámicamente como módulos. Esta característica se conoce como módulos de núcleo cargables (LDM)
StreamsEn Unix se incluye el subsistema E/S de secuencias como interfaz para escribir controladores de dispositivo, controladores de terminal, etc...En Linux, no hay subsistemas E/S de secuencias
Sistema preventivoSolo algunos son preventivos, como por ejemplo el de SolarisNormalmente no
Subprocesos multiples (LWP)En Unix, el LWP se basa en hilos del kernelEn Linux, LWP se crea llamando a la función clone (). Estos procesos pueden compartir memoria física, archivos abiertos, espacio de direcciones, etc...
Hilos del KernelLos hilos se utilizan para cambiar los procesosSolo para ejecutar códigos del kernel de forma periódica

 

Comparamos Unix con Linux

Las comparaciones son odiosas, pero una vez que ya conocemos las principales diferencias entre Unix y Linux creo que es necesario.

Linux vs Solaris

Solaris (Oracle Solaris) es un sistema operativo de la familia Unix, lo comparamos con Linux.

  • Linux admite más arquitecturas de sistema que Solaris. Linux es más portátil.
  • En los últimos años linux hace un gran esfuerzo en la integración del nuevo hardware, Solaris no es tan rápido.
  • La estabilidad de Solaris es algo sorprendente, le das con un martillo y no se rompe, ja.

Existen otras diferencias técnicas entre los dos, pero aquí solo hemos hablado de uso y rendimiento.

 

Conclusión final

Unix es el padre de todos los sistemas operativos actuales eso está claro. La principal diferencia entre los dos no es su presentación, sino en cómo funcionan, principalmente el núcleo.

Linux (y otros sistemas tipo Unix) son libres, los sistemas Unix no lo son (salvo excepciones ya mencionadas). El coste se debe tener en cuenta, y linux en este tema es el mejor.

También destacamos que Linux es más flexible si lo comparamos con los Unix puros, y es uno de los detalles que hace que linux sea tan popular. Los comandos Unix y Linux, no son los mismos pero si muy similares, es como si hablamos de Debian y RHEL.

Después de este articulo me gustaría que se empiecen a corregir informaciones erróneas como esta…

Unix sysadmin since 1991 dice: Ubuntu es una buena opción para comenzar con Unix, ya que es muy fácil de instalar y viene con una buena GUI también.

o como esta otra…

Pasos para instalar Unix: Instale Red Hat Enterprise Linux 7 de 64 bits (RHEL), descargue RHEL desde ………

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

 

9 Comentarios

  1. Henry
    10/01/2020
    • Sergio G.B.
      11/01/2020
  2. Manex
    11/01/2020
    • Sergio G.B.
      11/01/2020
  3. Carlos O
    11/01/2020
    • Sergio G.B.
      11/01/2020
    • Dani
      12/01/2020
  4. Chaparral
    12/01/2020
    • Sergio G.B.
      12/01/2020

Agregar comentario