GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la diferencia entre los núcleos de macOS y Linux?

Algunas personas podrían pensar que hay similitudes entre macOS y el kernel de Linux porque pueden manejar comandos similares y software similar. Algunas personas incluso piensan que el macOS de Apple está basado en Linux. Lo cierto es que ambos núcleos tienen historias y características muy diferentes. Hoy, veremos la diferencia entre los kernels de macOS y Linux.

Historia del Kernel de macOS

Comenzaremos con la historia del kernel de macOS. En 1985, Steve Jobs dejó Apple debido a una pelea con el director ejecutivo John Sculley y la junta directiva de Apple. Luego fundó una nueva compañía de computadoras llamada NeXT. Jobs quería sacar rápidamente al mercado una nueva computadora (con un nuevo sistema operativo). Para ahorrar tiempo, el equipo de NeXT utilizó el núcleo Mach de Carnegie Mellon y partes del código base BSD para crear el sistema operativo NeXTSTEP.

NeXT nunca se convirtió en un éxito financiero, debido en parte al hábito de Jobs de gastar dinero como si todavía estuviera en Apple. Mientras tanto, Apple había intentado sin éxito en varias ocasiones actualizar su sistema operativo, llegando incluso a asociarse con IBM. En 1997, Apple compró NeXT por 429 millones de dólares. Como parte del trato, Steve Jobs regresó a Apple y NeXTSTEP se convirtió en la base de macOS e iOS.

Historia del Kernel de Linux

A diferencia del kernel de macOS, Linux no se creó como parte de un esfuerzo comercial. En cambio, fue creado en 1991 por el estudiante finlandés de informática Linus Torvalds. Originalmente, el núcleo se escribió según las especificaciones de la computadora de Linus porque quería aprovechar su nuevo procesador 80386. Linus publicó el código de su nuevo kernel en Usenet en agosto de 1991. Pronto, recibió sugerencias de código y características de todo el mundo. Al año siguiente, Orest Zborowski portó el sistema X Window a Linux, lo que le permitió admitir una interfaz gráfica de usuario.

Durante los últimos 27 años, Linux ha crecido lentamente y ha ganado funciones. Ya no es un proyecto de poca monta de un estudiante. Ahora ejecuta la mayoría de los dispositivos informáticos del mundo y las supercomputadoras del mundo. No está mal.

Características del Kernel de macOS

El kernel de macOS se conoce oficialmente como XNU. El acrónimo significa "XNU no es Unix". Según la página Github de Apple, XNU es "un núcleo híbrido que combina el núcleo Mach desarrollado en la Universidad Carnegie Mellon con componentes de FreeBSD y C++ API para escribir controladores". La parte del código del subsistema BSD se "implementa típicamente como servidores de espacio de usuario en sistemas de microkernel". La parte Mach es responsable del trabajo de bajo nivel, como la multitarea, la memoria protegida, la gestión de la memoria virtual, la compatibilidad con la depuración del kernel y la E/S de la consola.

Características del Kernel de Linux

Mientras que el kernel de macOS combina la característica de un microkernel (Mach)) y un kernel monolítico (BSD), Linux es únicamente un kernel monolítico. Un núcleo monolítico es responsable de administrar la CPU, la memoria, la comunicación entre procesos, los controladores de dispositivos, el sistema de archivos y las llamadas al servidor del sistema.

Diferencia entre kernel de Mac y Linux en una línea

El kernel de macOS (XNU) existe desde hace más tiempo que Linux y se basaba en una combinación de dos bases de código aún más antiguas. Por otro lado, Linux es más nuevo, está escrito desde cero y se usa en muchos más dispositivos.

Si encuentra este artículo interesante, tómese un minuto para compartirlo en las redes sociales, Hacker News o Reddit.



Linux
  1. ¿Cuál es la diferencia entre un contenedor de Linux y una imagen?

  2. ¿Cuál es la diferencia entre Kernel no preventivo, preventivo y selectivo?

  3. ¿Cuál es la diferencia entre una llamada de biblioteca y una llamada de sistema en Linux?

  4. ¿Cuál es la diferencia entre los controladores del kernel y los módulos del kernel?

  5. ¿Cuál es la diferencia entre unlink y rm?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre Rsync y BTRFS en Linux?

¿Cuál es la diferencia entre ls y l?

¿Cuál es la diferencia entre llamadas probables e improbables en Kernel?

¿Cuál es la diferencia entre Unix, Linux, BSD y GNU?

¿Cuál es la diferencia entre partx y kpartx?