Guía Hardware

Linux vs Windows vs macOS: similitudes, diferencias, y comparativa de los principales sistemas operativos

Actualizado a: 19 de diciembre de 2023

La elección del sistema operativo sigue siendo uno de los debates más intensos entre los usuarios. Desde la estabilidad y flexibilidad de Linux, pasando por la ubicuidad de Windows, hasta la estética y experiencia de usuario de macOS, cada sistema operativo tiene sus defensores y detractores, sus ventajas y sus desventajas. Por eso, en esta comparativa Linux vs Windows vs macOS, hemos querido ayudar a los usuarios según sus necesidades y preferencias…

¿Qué es Linux?

Linux

Linux es un kernel, es decir, solo el núcleo de un sistema operativo, y necesita de otros componentes para ser un sistema operativo completo. No obstante, por simplicidad, Linux también se usa para designar al sistema operativo completo, en vez de GNU/Linux, etc.

Se trata de un Unix-like de código abierto, bajo licencia GNU GPL, y que puede funcionar tanto en ordenadores personales, como en servidores, mainframes, dispositivos móvieles (véase Android), e incluso dispositivos móviles. Además, tiene uno de los mayores soportes existentes, por lo que es el eistema operativo que más arquitecturas o ISAs tiene compatibles, destacando x86, SPARC, ARM, POWER ISA, RISC-V, y un muy largo etc.

Aunque comenzó siendo un kernel monolítico, poco a poco ha ido evolucionando hasta convertirse en algo más parecido a un microkernel. Básicamente es un kernel monolítico con capacidad de carga dinámica de módulos que quedan fuera de la pieza monolítica. Además, gracias a que solo es un kernel, existen multitud de distribuciones diferentes basadas en él, para contentar a un mayor número de usuarios. Algunos ejemplos son Ubuntu de Canonical, SUSE, Red Hat, Debian, ChromeOS y Android de Google, webOS de LG, TizenOS de Samsung, y cientos más. Muchas de ellas mantenidas de forma gratuita y libre por la comunidad, otras de empresas.

Como un kernel que és, tiene las capacidades de gestionar los recursos de hardware para que las aplicaciones puedan hacer uso de ellas, actuar como interfaz de usuario, y de proveer una seguridad elemental, además de sistemas para la gestión de procesos, acceso a redes, etc.

Dada su estabilidad, seguridad y robustez, puede funcionar en entornos empresariales o en sistemas críticos bastante bien. Y al ser un heredero de Unix, también comparte muchas de las ventajas de éste. Es por ello que se ha extendido en muchos ámbitos, aunque en el escritorio siga sin ser el sistema operativo dominante, pero sí que lo es en cuanto a servidores, HPC, mainframes, embebidos y dispositivos móviles, donde es casi un monopolio.

Por otro lado, al ser de código abierto, aporta también mucha confianza a quien lo usa, ya que de tener puertas traseras (back doors) o cualquier código malicioso, se podría detectar, algo que los sistemas operativos de código cerrado o propietario, como Windows o macOS, tienes que confiar en Microsoft o Apple en este caso.

Otra característica derivada de esa apertura es que es altamente personalizable. Y, al ser solo un kernel, puedes acompañarlo de multitud de piezas que completan el puzle según tus necesidades o gustos. Por ejemplo, puedes elegir entre un entorno de escritorio KDE Plasma, o uno GNU GNOME, o tal vez otros diferentes entre los muchos que existen. También puedes usar las herramientas de GNU, o elegir otras diferentes, como es el caso de ChromeOS y Android, elegir entre multitud de sistemas de archivos, jerarquías de directorios, módulos, etc. Incluso tú mismo puedes crear una distro desde cero usando herramientas como las que aporta el proyecto Linux From Scratch (LFS).

Además, no depende de una empresa como otros sistemas operativos, sino de una fundación, como es la Linux Foundation, donde contribuyen muchos miembros, así como GNU depende de la Free Software Foundation o FSF. Esto, unido a la licencia, hace que no se puedan poner restricciones para el uso de Linux como sí se puede hacer desde el gobierno con otras tecnologías propietarias. 

Aunque Linus Torvalds es el encargado de comandar el proyecto, poco a poco ha ido contribuyendo menos al proyecto, y actualmente no contribuye, solo gestiona lo que le llega de otros desarrolladores implicados, entre los que se encuentran universidades de todo el mundo, empresas del sector tecnológico, etc. Por tanto, Linux no está desarrollado por una empresa o por un grupo de personas como otros proyectos, sino que está desarrollado por multitud de instituciones a lo largo de todo el mundo, es el proyecto que nunca descansa, cuando anochece en una parte del mundo y se deja de desarrollar, se ponen en marcha los de la otra parte del globo…

Si te preguntas quién son sus desarrolladores, podemos destacar a algunos, aunque depende de la versión del kernel, ya que en función de las nuevas tecnologías que se desean integrar o agregar soporte, puede que los mayores contribuyentes varíen a lo largo del tiempo. Sin embargo, se pueden destacar algunos habituales como: Intel, AMD, NVIDIA, IBM, Canonical, Samsung, Mediatek, Fujitsu, Ericsson, sí, incluso Microsoft, Qualcomm, Oracle, Cisco, Google, Renesas, Panasonic, Sony, Toshiba, Meta, Amazon, Ampere, Marvell, Arm, y muchos más, así como otros desarrolladores independientes que mantienen, agregan parches, etc.

Otro detalle interesante es que, aunque existe software propietario y de pago para Linux, la mayoría de proyectos son de software libre y gratuitos. Una clara ventaja para usuarios y empresas, que no tienen que pagar por licencias.

Y, entre los componentes esenciales que componen el sistema operativo Linux completo tenemos que destacar:

  • Kernel: el núcleo del sistema operativo, la parte más importante, y la que comanda Linus Torvalds y todas las empresas citadas anteriormente.
  • Bootloader: están desarrollados generalmente por la comunidad, como puede ser el caso de LILO, GRUB, etc.
  • Primer proceso: aunque históricamente ha sido el proceso init, que era el primero en iniciar para cargar al kernel en la memoria RAM y hacer que otros servicios (demonios) y módulos necesarios iniciasen durante el arranque, actualmente ese proceso puede ser sustituido por Upstart, Systemd, etc. Estos otros proyectos también desarrollados por grupos de hackers de terceros. Por otro lado, los servicios o demonios, como se les denomina, también estarán desarrollados por otros grupos de desarrollo.
  • Pila gráfica: es un elemento muy complejo, compuesto por el servidor gráfico como X Window System o X11, o el nuevo Wayland, ambos desarrollados de forma independiente al kernel. Además, existen otros proyectos que complementan esta pila gráfica para que podamos usar una GUI y veamos los gráficos en Linux, sin tener que depender solo del CLI o terminal. Por ejemplo, nos encontramos con partes importantes como los controladores gráficos desarrollados por NVIDIA, AMD o Intel, o también MESA, APIs gráficas como Vulkan u OpenGL de The Khronos Group, o los distintos entornos de escritorio, como puede ser Plasma desarrollado por KDE, GNOME de GNU, etc.
  • Otros: también tendremos bibliotecas o APIs, creadas por GNU u otros desarrolladores, herramientas esenciales, los grupos que trabajan para desarrollar los sistemas de archivos o File-Systems, como ext4, btrfs, XFS, etc., pasando por otras aplicaciones esenciales.

En definitiva, millones de líneas de código, miles y miles de desarrolladores, y muchos recursos invertidos, que de no ser un proyecto de código abierto, sería uno de los casos de software más caros jamás creados.

Herencia Linux: historia

Linux fue creado por Linus Torvalds, un estudiante finlandés, en 1991. Usó lenguaje de programación C y algo de ASM o ensamblador, y lo que pretendía era crear un sistema operativo UNIX, ya que la licencia de estos costaban mucho dinero en la época, y además había borrado de forma accidental la partición donde tenía el Minix que usaba para la universidad.

Linus desarrolló el kernel de Linux como un proyecto personal y lo dio a conocer a través de un mensaje en un grupo de noticias. Este kernel, junto con herramientas y utilidades del proyecto GNU (un sistema operativo de código abierto liderado por Richard Stallman), formó la base de lo que hoy conocemos como el sistema operativo Linux.

Linux no pertenece a una familia de sistemas operativos específica, ya que nació desde cero, pero se encuentra dentro de la categoría de sistemas operativos tipo Unix. Se le considera un sistema operativo tipo Unix-like o Unix-compatible debido a su similitud con el sistema operativo Unix original, e incluso tiene cierta compatibilidad con el estándar POSIX. Aunque Linux comparte ciertas características y conceptos con Unix, es independiente y se ha desarrollado de manera independiente.

Ventas y desventajas de Linux

Linux, como cualquier otro sistema operativo, tiene sus ventajas y desventajas que hay que conocer en esta comparativa Linux vs Windows vs macOS. Comenzando por las ventajas más destacadas tenemos:

  • Código abierto: no solo implica ahorrar dinero en licencias, al ser gratuito, sino que también permite ver el código fuente para aprender, modificarlo a gusto según las necesidades y poder descrubrir y corregir errores o vulnerabilidades que puedan afectar a la seguridad.
  • Soporte de architecturas: como comenté al principio, Linux soporta la mayor cantidad de ISAs o arquitecturas, por lo que puede funcionar en multitud de máquinas o CPUs difernetes, como x86, ARM, SPARC, Alpha, MIPS, POWER, y muchas más. Algo que Windows no puede, funcionando solo en x86 y ARM actualmente, y macOS solo en x86 en versiones previas y actualmente solo con Apple Silicon, aunque dentro de un tiempo incluso perderá ese soporte x86 cuando dejen de mantenerse y ofrecerse esas versiones más antiguas.
  • Robustez, estabilidad y fiabilidad: es un sistema considerado como muy fiable, seguro, estable y robusto, por lo que se puede usar en aplicaciones críticas o en entornos de alta disponibilidad, superando a sus competidores en muchos casos. Solo hay que ver con qué sistema operativo funcionan los servidores de Microsoft o de Apple…
  • Flexibilidad: no solo por su capacidad para ser modificado o personalizado con numerosos componentes que puedes ir seleccionando como si de piezas de un puzle se tratase, sino también por su amplio soporte de arquitecturas, haciendo que pueda optimizarse tanto para funcionar en un electrodoméstico, pasando por un vehículo, hasta un PC o dispositivo móvil, mainframe, servidores, e incluso aparatos en los que no te puedes ni imaginar que pueda correr. Una capacidad de la que carece cualquier competidor.

Por otro lado, también tiene sus desventajas, y en este sentido destacamos:

  • Estandarización: al ser tan moldeable y depender de tantos desarrolladores, es complicada su estandarización. No obstante, esto no debe ser un problema mayúsculo. De hecho, es parcialmente compatible con POSIX, y existen algunas distribuciones Linux totalmente certificadas con POSIX e incluso consideradas como UNIX registrado, aunque parezca extraño así lo es. También tenemos estándares como LSB (Linux Standard Base), etc., que ayuda a homogeneizar.
  • Soporte: la mayoría de distribuciones carece de servicio de soporte técnico como el que tienen sistemas operativos de empresas. Sin embargo, sí que existen formas de obtener dicho soporte pagando, por ejemplo, como los que ofrecen SUSE, Red Hat (IBM), Oracle, Canonical, etc.
  • Compatibilidad: a pesar de que cada vez mejora en este aspecto, y ya es compatible con la mayoría del hardware disponible y con mucho software, es cierto que la mayoría de desarrolladores se centran en plataformas más extendidas, como Windows. No obstante, tenemos proyectos para paliar estos problemas, como WINE, Proton, emuladores QEMU, capacidad de virtualización, etc.
  • Usabilidad: aunque los entornos de escritorio han facilitado mucho el uso y prácticamente no existe diferencias entre usar un sistema operativo Windows, macOS o Linux, es cierto que aún se sigue dependiendo mucho de la consola o terminal, por lo que habrá que trabajar con comandos en algunos casos. Esto implica que los usuarios deberán tener mayor conocimiento informático. Ejemplo aparte es Android, que aunque sea basado en Linux, dado que cuenta con el apoyo de Google y está en millones de dispositivos, los desarrolladores de apps han plagado la Google Play con mucho contenido.

Ahora eres tú el que debe sopear estos pros y contras para determinar si te interesa usar Linux o prefieres otros sistemas…

¿Qué es Windows?

Windows, sistemas operativos online

Windows es un sistema operativo desarrollado por Microsoft. Es propietario, por tanto de código cerrado. La primera versión de este sistema operativo llegaría en 1985, con el lanzamiento de una interfaz gráfica o GPI superpuesta para el shell MS-DOS, renombrando este como Windows.

Actualmente es el sistema operativo más usado en el PC, con un share o cuota de mercado de entorno al 70%, seguido de macOS y muy lejos estaría Linux y otros sistemas operativos. No obstante, no es el sistema operativo más usado del mundo, ya que ese honor es de Android.

Hay que decir que Windows no es tan flexible como Linux, y no cuenta con soporte para tantas arquitecturas. Además, solo está disponible en algunas ediciones muy específicas, como Windows para el escritorio, Windows Server para servidores, Windows IoT para el Internet de las Cosas, una versión para la consola Xbox, o el casi desaparecido Windows Phone para dispositivos móviles.

Actualmente, una de las últimas versiones lanzadas es Windows 11, que se vende en versiones Home, Pro y Enterprise, o Windows Server 2022 para servidores. Mientras que también existe una versión online denominada Windows 365.

Si quieres más detalles, decir que Windows tiene una licencia EULA, tiene un modelo de lanzamiento por versiones como Windows 8.x, Windows 10, Windows 11 que aparecen de forma periódica, aunque durante la vida útil de cada uno, se siguen manteniendo lanzando actualizaciones constantes a través de Windows Update.

Actualmente está disponible en 110 lenguas diferentes, su sistema de gestión de paquetes soporta paquetes .exe, .msi, .msp, .appx, etc. En cuanto a las arquitecturas soportadas, tenemos que Microsoft Windows está disponible para x86 y ARM en sus últimas versiones, tanto en 32-bit y 64-bit, aunque anteriormente también soportó IA-64 (Itanium), Alpha, PowerPC, y MIPS, pero se terminó abandonando.

Está programado usando lenguajes de programación como C, C++ y ensamblador, y se basa en la interfaz Windows Shell (Explorer.exe), mientra que para comandos se puede hacer uso de CMD, o PowerShell. Además de esto, usa un bootloader propio, Windows API, Active Directory, sistema de archivos NTFS, Windows Update, Hyper-V como hipervisor, Windows Store como tienda de apps, etc. No admite la flexibilidad que permite Linux, Microsoft te da un sistema completo, si te gusta bien y si no te gusta algo también…

Herencia Windows: historia

Anteriormente he comentado que Linux no proviene de ningún otro sistema operativo, sino que se hizo desde cero, al igual que Minix, aunque sí que se puede decir que pertenece a la familia Unix o Unix-like. Sin embargo, el sistema operativo de Microsoft sí que tiene un pasado más rastreable.

Todo comenzó con Windows 1.0, la primera versión que apareció sobre 1981. Fue entonces cuando Microsoft comenzó un proyecto que llamaría Interface Manager, y el objetivo era crear un sistema operativo con interfaz gráfica de usuario, similar a lo que estaba haciendo Apple en esta época con su Lisa o el Macintosh. El resultado sería básicamente poner una GUI sobre MS-DOS, para poderlo manejar desde una interfaz gráfica, y no solo con comandos como hasta entonces.

El resultado sería el sistema operativo MS-DOS Executive que tenía un programa denominado Windows 1.0, que no era más que un shell gráfico. Además, también incluía otras apps esenciales basadas en GUI, como Calculator, Calendar, Clock, Control Panel, Notepad, Paint, Write, etc. Es decir, no dejaba de ser un MS-DOS gráfico.

Después llegaría la versión Windows 2.0 en 1987, seguida de la 2.1, cada vez introduciendo más mejoras al respecto. Tras esto llegaría Windows 3.0 en 1990, con un rediseño estético, entre otras mejoras, como la reescritura de algunos componentes críticos del sistema en C y ensamblador para mejorar la estabilidad. En 1992 llegaría Windows 3.1, con un nuevo lavado de cara, dando paso a Windows 3.2 en 1994, con una actualización con idioma chino, entre otras cosas…

En 1995 sería el momento para lanzar Windows 95, una de las mayores actualizaciones pensadas para el usuario, aunque seguía siendo un MS-DOS en su núcleo, con soporte nativo para software de 32-bit, soporte Plug & Play, multitasking y con algunas otras mejoras como la capacidad de tolerar nombres de archivos más largos de hasta 255 caracteres en su FS FAT.

En 1998 llegaría Windows 98, otra nueva actualización que introduciría Windows Driver Model, soporte USB, ACPI, soporte para hibernación, soporte multimonitor, etc. El sistema operativo de Microsoft se iba renovando y adaptándose a los nuevos tiempos. Por supuesto, también estaría presente el navegador Internet Explorer, ya que Internet se estaba extendiendo.

En 2000, mientras aemorizaban al mundo con el Efecto 2000, Microsoft lanzaba Windows Me (Millennium Edition), que seguía estando basado en MS-DOS. Pero significaría el último en hacer esto. Windows tenía serios problemas de seguridad y estabilidad, y no había sido pensado para la era moderna, ya que seguía arrastrando la herencia DOS. En cambio, a partir de aquí habría un cambio de paradigma.

Microsoft dejaría de lado MS-DOS para pasar a crear un nuevo kernel denominado Windows NT (New Technology). La verdad es que ya llevaban tiempo trabajando en él de forma silenciosa, incorporando al equipo de desarrolladores de Microsoft a Dave Cutler y Mark Lucovsky, con experiencia al haber trabajado en Digital Equipment Corporation en el sistema operativo VMX.

Además, Microsoft e IBM estaban colaborando con el desarrollo del sistema operativo OS/2, también conocido como NT OS/2. Esto serviría de base para el nuevo proyecto, que sería un sistema operativo más seguro, multiusuario, multitarea, modular, portable y con soporte para nuevas arquitecturas. Esa era la idea, y sobre eso comenzaron a trabajar.

El kernel Windows NT sería de tipo híbrido, diseñado modificando un microkernel e influenciado por Mach. La primera versión lanzada públicamente llegaría en 1993, y denominada Windows NT 3.1, puesto que apareció a la par que Windows 3.1, pero mientras éste último estaba destinado al escritorio, el NT se destinó a estaciones de trabajo y servidores.

Windows NT 3.5 aparecería un año más tarde, con mejoras de rendimiento y también con soporte para Novell NetWare. Después aparecerían otras versiones como Windows NT 3.51, o la versión 4.0 de 1996. Fue precisamente ésta versión la que daría paso a Windows 2000, el primer sistema operativo para el gran público con este kernel. Como su propio nombre indica, aparecería en paralelo con Windows ME, en 2000.

A partir de aquí, las versiones de Windows NT irían progresando versión tras versión y serían el sustituto definitivo de MS-DOS. Esto daría paso a Windows XP, Windows Vista, Windows 7, Windows 8.x, Windows 10, y el actual Windows 11, así como las versiones Windows Server, etc., o la Windows 365 online, que entre algunas novedades incluye un bypass para publicar el servicio a través de Google Play y Apple App Store.

Agregar que Windows 11 está basado en el kernel Windows NT 10.0, y que ya existe sucesor, denominado Windows 12, aunque aún no haya aparecido. Supuestamente será lanzada en junio de 2024, aunque aún se desconocen detalles. Entre las grandes novedades se espera un rendiseño gráfico, integración de IA, etc.

¿Qué es macOS?

macOS

macOS, anteriormente conocido como MacOS Classic, luego Mac OS X, OS X y ahora volviendo a sus orígenes bajo el nombre de macOS, es un sistema operativo desarrollado por Apple. Este sistema operativo es «gratuito», ya que viene con el hardware que esta misma compañía comercializa. No obstante, no es de código abierto, y ha estado acompañando a los equipos de la firma de Cupertino desde los Macintosh clásicos, pasando por varios cambios importantes a lo largo de la historia. Uno de los cambios ha sido irse adaptando a las distintas arquitecturas por las que ha ido pasando Apple, como PowerPC, x86, o ahora Apple Silicon.

Pero también ha sufrido otros cambios profundos en todo este tiempo. Al igual que Windows, Linux y el resto de sistemas operativos modernos, es un sistema multitarea, multiusuario, y con una interfaz gráfica moderna denominada Aqua. Al igual que Windows, es un sistema operativo completo, por lo que no puedes cambiar nada de lo que te ofrece Apple en el pack.

Para más detalles técnicos, agregar que junto con su interfaz Aqua, y su kernel XNU (X is Not Unix), similar al acrónimo recursivo GNU (GNU is Not Unix), también temeos otros componentes esenciales, como el administrador de archivos Finder, su terminal zsh, el motor de búsqueda Spotlight, el navegador web Safari, la tienda de Mac App Store, seguridad Gatekeeper, entre otras aplicaciones y servicios integrados.

Hay que decir que, como Apple no distribuye su sistema operativo para ordenadores generales, solo para su propio hardware, esto le permite optimizar al máximo el sistema operativo, ya que no es un sistema que tenga que funcionar en multitud de equipos muy diferentes como Windows o Linux. No obstante, Linux también puede ser optimizado, ya que puedes configurar y compilar su kernel de forma óptima para el equipo que tienes y no usar el kernel genérico.

Otros detalles interesantes sobre este sistema operativo es que fue escrito en lenguajes de programación C, C++, Objective-C y Swift.

Y, para finalizar y entender un poco mejor las versiones y nombres del sistema de la manzan, decir que cuando hablamos de MacOS Clásico nos referimos al sistema no Unix desarrollado por Apple antes de la fusión con la compañía NeXT. Como sabes, Steve Jobs fue despedido de Apple, y creó una empresa con similitudes con Apple denominada NeXT Computer. Esta compañía sería comprada por Applee más tarde, y abandonaron el MacOS Classic para basarse en NeXTSTEP para las estaciones de trabajo NeXT, que era tipo Unix y tenía claras ventajas. Fue entonces cuando pasaría a denominarse Mac OS X u OS X simplemente. Y es que, la X siempre está muy presente en el mundo UNIX (LinuX, UniX, Xenix, UX, AIX,…). De hecho, con la salida de Mac OS X 10.5, se lograría que fuese un sistema operativo UNIX 03 certificado.

En cuanto a las versiones Server, como he comentado antes, se dejaron de lanzar en 2009, no obstante, todos los paquetes y funciones para servidores están disponibles para su descarga desde la Mac App Store desde Mac OS X 10.7 Lion.

Sobre lo citado anteriormente de que se ha ido adaptando a las diferentes arquitecturas por las que ha pasado Apple, decir que entre 1999 y 2005, Mac OS X estaba diseñado para PowerPC, mientras que en Mac OS X 10.4 Tiger de 2006 en adelante, lo haría para sus equipos basados en x86 de Intel, tanto de 32-bit como de 64-bit. Entonces también desarrollaría un software emulador conocido como Rosetta, y que serviría para poder ejecutar los programas binarios compilados para PowerPC bajo x86.

En 2020 anunciaría que dejaría de tener a Intel como suministrador de CPUs, y a AMD como suministrador de GPUs, pasando a diseñar ella misma sus propios chips como ya hacía con dispositivos móviles. Los nuevos SoCs M-Series estaban basados en la ISA ARM de 64-bit, por lo que hubo que portar una vez más Mac OS X a esta arquitectura, dando lugar a macOS Big Sur, la primera versión para ARM y con el software de emulación Rosetta 2, en esta ocasión para poder ejecutar el software escrito para x86 en los nuevos M-Series.

Herencia de macOS: historia

Si nos centramos en su historia, su herencia, hay que deferenciar entre el clásico y el actual. Por un lado tenemos MacOS Classic, un sistema operativo que comenzaría con el proyecto Macintosh a finales de los años 70. Cogiendo las bases de Lisa, y tras la visita de ingenieros de Apple a Xerox PARC, que estaban desarrollando un ratón y una interfaz gráfica, trayeron esa idea a los sistemas Mac.

El resultado fue este sistema con GUI, con iconos diseñados por Susan Kare, para representar las aplicaciones, archivos y carpetas. Bruce Horn y Steve Capps escribirían lo que se denominaría Macintosh Finder para gestionar los archivos, unas utilidades básicas para este sistema operativo. Una vez estaba todo listo, lanzaron lo que se denominaría System o MacOS.

Las primeras versiones solo podían correr una app a la vez por lo general. Sin embargo, en cada versión se iban mejorando algunos detalles, como el llamado sistema de archivos MFS que permitía una jerarquía de doble nivel para directorios, el soporte para AppleTalk, la llegada de HFS (Hierarchical File System), etc. Las distintas versiones lanzadas, desde la 1.0 hasta la 4.1 de 1987, serían la base del comienzo de su andadura.

Después llegaría la versión System Software 5, agregando mejoras como un sistema multitarea, MultiFinder, etc. Y con una mejora sobre 1988 denominada 5.1. Le seguiría La versión 6, en este aso dejando atrás los chips MOS 6500 para dar el paso a los nuevos procesadores Motorola 68k, como el 68030. De esta 6.x aparecierían varias versiones hasta 1992.

System 7 llegaría con una gran reforma en su interfaz gráfica de usuario, además de nuevas apps, mejoras de estabilidad, funciones nuevas y soporte para la línea Macintosh con chips 68040 de Motorola. Poco a poco el sistema iba mejorando, evolucionando hasta lo que actualmente es macOS. Sin embargo, aún le faltaba un largo recorrido, pasando por Mac OS 7.x, luego Mac OS 8.x de 1997, poco después de que Steve Jobs regresara a la compañía, y cuya novedad más destacable sería el nuevo sistema de archivos HFS Plus o HFS+, o el APFS (Apple File System) actual. Tanto la versión 8 como la 9 estarían preparadas para chips PowerPC, una vez se instauró la alianza AIM (Apple IBM Motorola), para usar estos procesadores.

Mac OS 9 aparecería sobre 1999, cargado de mejoras y siendo el último de esta dinastía de sistemas clásicos. Y es que, entonces aparecería Mac OS X, que había sido basado en los trabajos de NEXTSTEP, que a su vez estaba basado en un kernel de código abierto denominado Mach de la Universidad Carnegie Mellon, así como en 4.4BSD de Berkeley. Éste último era una implementación abierta y gratuita de Unix de la familia BSD, con partes en común con NetBSD o FreeBSD que también fueron incorporada sa NEXTSPEP.

A partir de aquí se había abandonado el Mac OS Clásico, ahora ya era un Unix, con innumerables ventajas que le aportaba esta herencia. El núcleo que surgió como resultado fue denominado XNU, como cité anteriormente. Y no solo se ha convertido en la base de macOS, también de iOS/iPadOS.

Hay que decir que el nombre XNU ya se usaba en NeXT. Como parte del sistema operativo Darwin, XNU es un núcleo híbrido que combina características de núcleos monolíticos y micronúcleos. El diseño busca aprovechar las ventajas de los núcleos monolíticos y micronúcleos. Permite la transferencia de mensajes entre micronúcleos para modularidad y protección de memoria, manteniendo la velocidad de los núcleos monolíticos. XNU es compatible con procesadores ARM, x86, x86-64 y PowerPC, tanto en configuraciones de un solo procesador como en modelos SMP.

Mach, el componente central de XNU, originalmente concebido como micronúcleo, ejecuta la base del sistema operativo como procesos separados. Aunque esto brinda flexibilidad, puede afectar el rendimiento al cambiar entre el contexto del núcleo y el usuario. Con Mac OS X, se simplificaron algunas tareas, y las funciones de BSD se implementaron en espacio privilegiado junto con Mach, resultando en una combinación de ambos en XNU.

Comparado con GNU Hurd, que también utiliza Mach, XNU implementa funcionalidades adicionales aparte de Mach en espacio privilegiado, mientras que Hurd las coloca en el espacio de usuario. Ambos sistemas siguen un diseño de micronúcleo.

Y así es como finalmente llegaríamos a macOS, el último renombre de Apple para denominar a su OS X… A pesar de haber perdido la X por el camino, macOS sigue siendo Unix, con núcleo XNU.

Linux vs Windows vs macOS: similitudes

Linux, Windows y macOS son sistemas operativos que, a pesar de sus diferencias, comparten algunas similitudes a nivel técnico. Aquí hay algunas clave:

  • Administración de memoria: los tres sistemas operativos utilizan un sistema de administración de memoria virtual para gestionar eficientemente el acceso a la memoria física. Además de tener memoria protegida.
  • Herencia: aunque Windows proviene del mundo MS-DOS y más tarde Windows NT, Linux y macOS sí que se parecen más en este sentido, ya que los dos son sistemas operativos tipo Unix, y esto significa claras ventajas, como su robustez, estabilidad, seguridad, y rendimiento.
  • Multitarea y multiproceso: Linux, Windows y macOS son sistemas operativos multitarea y admiten la ejecución simultánea de múltiples procesos. También son compatibles con sistemas multiproceso, permitiendo la ejecución eficiente en hardware con varios núcleos o CPU.
  • Sistemas de archivos en red: todos admiten la posibilidad de acceder y compartir archivos a través de redes, ya sea mediante protocolos propios o estándares como SMB (Server Message Block) para redes heterogéneas Windows y Linux, y NFS (Network File System) para macOS y Linux.
  • Estándar POSIX: significa «Portable Operating System Interface,» es un conjunto de estándares que especifica la interfaz entre un sistema operativo y las aplicaciones. Los sistemas operativos que cumplen con los estándares POSIX ofrecen una cierta compatibilidad y portabilidad entre ellos. La mayoría de distros Linux son mayoritariamente compatibles con POSIX, y macOS lo es de forma completa, con certificación. En cambio, Windows no lo es, solo algunas partes como pueden ser WSL o Windows Subsystem for Linux, o el POSIX Subsystem introducido en Windows NT…
  • Certificación UNIX: un sistema operativo certificado como Unix cumple con los estándares y especificaciones definidos por The Open Group en su Single UNIX Specification (SUS). Esta certificación garantiza la compatibilidad y conformidad del sistema con las interfaces de programación, la funcionalidad y otros criterios definidos por el estándar. Los sistemas operativos certificados como Unix, son muy pocos, uno de ellos macOS, ofrecen una interoperabilidad y portabilidad mejoradas, ya que siguen normas comunes para su diseño y funcionamiento. Algunas distros muy específicas Linux también han sido certificadas en alguna ocasión. Sin embargo, Windows jamás podrá ser un Unix certificado, ya que no es de la familia.
  • Modelo cliente-servidor: todos tienen aplicaciones y servicios que siguen el modelo cliente-servidor, donde un programa cliente solicita servicios o recursos de un programa servidor.

A pesar de estas similitudes, es importante destacar que cada sistema operativo tiene sus propias características, arquitecturas y filosofías de diseño únicas, lo que los hace adecuados para diferentes tipos de usuarios y casos de uso.

Linux vs Windows vs macOS: diferencias

A grandes rasgos, Linux, Windows y macOS también tiene algunas diferencias muy notables, entre las que se destacan:

  • Núcleo del sistema operativo: mientras Linux es un kernel monolítico con capacidad de carga dinámica de módulos y es de código abierto, tanto XNU como Windows NT son de código cerrado. En el caso de Windows NT y XNU son de tipo híbrido. Aunque tanto Linux como macOS de la familia Unix, mientras que Windows NT no lo es.
  • Interfaz de usuario: en Linux tienes variedad de entornos gráficos para elegir, como GNOME, KDE Plasma, MATE, Xfce, Cinnamon, etc. En Windows y macOS solo tienes los que traen de serie, sin posibilidad de cambiar.
  • Sistema de archivos: mientras en Linux puedes elegir entre una enorme variedad de sistemas de archivos que se pueden adaptar a distintas necesidades, como FAT, XFS, Btrfs, ext4, ZFS, etc., en Windows no es posible usar tantos sistemas de archivos, ya que solo reconoce los tipo FAT y NTFS. Algo parecido pasa en macOS, que actualmente solo puede trabajar a nivel interno con HFS+.
  • Uso: Windows está pensado para el escritorio, aunque te puedes encontrar con versiones como Windows Phone (también Windows NT) para dispositivos móviles, o Windows Server para servidores, etc. macOS también está pensado para el escritorio, para equipos Apple de forma exclusiva, aunque también podría usarse en servidores. Para dispositivos móviles habría que recurrir a versiones como iOS o iPAD OS basados también en XNU. En el caso de Linux, se puede adaptar a una inmensa cantidad de arquitecturas y dispositivos muy diferentes, como pueden ser embebidos, ordenadores de escritorio, dispositivos móviles, servidores, mainframes, supercomputadoras o HPC, etc. En este caso, Linux es bastante más flexible.
  • Modelo de licencia: Linux es de código abierto, al igual que la inmensa cantidad de software, que también es de código abierto y libre. Por tanto, es totalmente gratuito, aunque puede haber alguna excepción. Windows es propietario, y de código cerrado, por lo que hay que pagar una licencia por su uso. En el caso de su software, la mayoría suele ser freeware o de pago, aunque también existen muchos proyectos libres para él. Mientras que en el caso de Apple, es propietario, con licencia EULA como Windows, pero limitado a usarse en hardware Apple, aunque pueda haber excepciones como los hackintosh. En el caso de macOS no se paga, te lo puedes descargar gratis, pero se supone que ya has pagado la cuota al adqurir el equipo Apple. En cuanto al software disponible para este sistema, pasa un poco igual que en el caso de Windows…
  • Terminal y línea de comandos: mientras Linux suele usar Bash por defecto, aunque puede usarse también con PowerShell, zsh, csh, y un largo, etc., en el caso de Windows solo podemos usar CMD o PowerShell. Por otro lado, macOS puede usar Bash o zsh, aunque admite otras configuraciones.

¿Cuál elegir?

Linux vs Windows vs macOS
Fuente: Stem

Aquí no vamos a ser demasiado sectarios y aconsejar uno por encima de todo, ya que esto dependerá mucho del usuario y de sus preferencias. Sin embargo, si estás dudando entre Linux vs Windows vs macOS y no sabes por cuál decantarte, aquí tienes algunos casos que te pueden ayudar:

  • Desarrollo y programación: en este sentido, Linux es ideal para desarrolladores, de hecho, es uno de los entornos más usados por la cantidad de herramientas disponibles, etc. Obviamente, si lo que quieres es centrarte en desarrollar de forma específica para Windows o para macOS, deberías elegir estos otros sistemas.
  • Juegos: aquí el claro ganador es Windows, ya que posee miles de títulos AAA disponibles para jugar en esta plataforma. Por tanto, si eres gamer, no hay duda de lo que debes elegir. macOS tiene algunos títulos disponibles, pero una lista bastante limitada. Al parecido ocurre en Linux, a pesar del boom de videojuegos nativos creciente, aún tiene una gran brecha con respecto a Windows, aunque últimamente ha superado a macOS, y con el proyecto Proton de Steam, se ha conseguido que muchos de los títulos nativos para Windows también se puedan ejecutar fácilmente en Linux, lo cual es muy sorprendente y positivo para los jugadores que quieran permanecer en la plataforma del pinguino.
  • Diseño y creatividad: aunque Linux cuenta con software para diseño, con programas muy profesionales como pueden ser Blender, GIMP, Inkscape, etc., la verdad es que no es la mejor plataforma para creadores de contenido. Windows posee mucho software profesional a tu alcance para edición y diseño, como la suite Adobe. En macOS quizás no tenemos tanto como en Windows, pero igualmente es una plataforma genial para diseño y creatividad a nivel profesional, es más, todas las aplicaciones esenciales para diseño gráfico y edición de vídeo las encontrarás también para Mac, y muy especialmente destaca en cuanto a producción musical, siendo el mejor en este sentido.
  • Empresas y productividad: Linux puede ser común en algunos entornos empresariales, aunque especialmente cuando se trata de desarrollo, sistemas críticos, servidores o HPC. Sin embargo, Windows también está bastante extendido por las empresas y servidores por su gan compatibilidad de software y hardware. macOS también es bueno en este sentido, aunque tradicionalmente ha estado más presente en usos profesionales relacionados con la creatividad y el diseño que otra cosa…
  • Personalización y control: aquí gana Linux por goleada, ya que ofrece un alto grado de personalización y control del sistema operativo. Tú puedes controlar al sistema, no el sistema a ti. Esto no es así en Windows, que está bastante más limitado en este sentido, ya que en Linux puedes hacer casi cualquier cosa. En macOS paso algo parecido, y es un ecosistema más limitado.

Espero haberte ayudado…

Jaime Herrera

Jaime Herrera

Técnico electrónico y experto en el sector de los semiconductores y el hardware. Con una amplia y sólida trayectoria en el campo de la electrónica, he acumulado una extensa experiencia. Mi pasión por la tecnología y la informática me ha impulsado a dedicar décadas de mi vida al estudio y desarrollo de soluciones en este fascinante sector. Como técnico electrónico, he tenido el privilegio de trabajar en una variedad de proyectos y desafíos, lo que me ha permitido adquirir un profundo conocimiento y experiencia en la creación, diseño y mantenimiento de dispositivos electrónicos.

>
Guía Hardware
Logo