Noticias sobre Linux
25 meneos
664 clics
Diferencia entre los núcleos macOS y Linux  (ENG)

Diferencia entre los núcleos macOS y Linux (ENG)

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 las macOS de Apple se basan en Linux. La verdad es que ambos núcleos tienen historias y características muy diferentes. Hoy veremos la diferencia entre el kernel de macOS y Linux.

| etiquetas: kernel , núcleo , macos , linux
  1. Resumen para el que no quiera entrar:
    * macOS: Esta basado en BSD y más antiguo.
    * Linux: Esta escrito desde 0 y más moderno.
  2. Por lo que tengo entendido, macOS se basa en un núcleo híbrido = microkernel (Mach) + kernel monolítico (FreeBSD), que delega ciertas funciones no críticas en servicios de nivel de usuario, mientras que Linux consta de un kernel monolítico que engloba todas las funciones (cpu, memoria, procesos, dispositivos, etc).

    #2 Linux no está escrito desde cero, digamos que Linus se "inspiró" en Minix.
  3. #3 Lo que he hecho es un resumen del articulo. En ningún momento he querido hacer yo la comparación, ni aportar más datos. Y la referencia a MInix no aparece en ningún lado del artículo.
  4. Errónea, macOS no es un núcleo. El núcleo de macOS es XNU. XNU combina el micronúcleo Mach con el núcleo de FreeBSD, quedando todo en espacio privilegiado.
    Bibliografía: MAC OS {0xae} X AND iOS INTERNALS.

    En GNU Hurd en cambio sólo Mach está en espacio privilegiado. El resto está en espacio de usuario, mayormente integrado en la Glibc (GNU C runtime library).

    Vamos, que este artículo es erróneo al 100%. De hecho el propio artículo da esos detalles, pero está mal expresado dando a entender otra cosa que ha sido reflejada en la traducción del meneo.

    Entrevista a Zborowski en Linux Journal 1995: www.linuxjournal.com/article/70
  5. #3 Linux sí está escrito desde cero. Torvalds se "inspiró" en Minix pero no hay (ni hubo) código de Minix en Linux. La licencia de Minix no lo permitía y ésa fue la principal razón que impulsó a Linux a crear un kernel nuevo. Del mismo modo, la prohibición de AT&T de utilizar ciertos materiales educativos que vulneraban "sus derechos" fue lo que impulsó a Tanenbaum a crear Minix.

    XNU, sin embargo, nació como una capa de FreeBSD sobre Mach y tiene por tanto mucho código de ambos.
  6. Se ve que no has leído ni la entradilla:
    Hoy veremos la diferencia entre el kernel de macOS y Linux. <-----> KERNEL DE MACOS
  7. #5
    Ah, y en el artículo ponen que lo de BSD está habitualmente implementado en espacio de usuario en los sistemas microkernel, pero no es el caso de macOS tal y como menciona el libro, enlazado también en el artículo al que referencia este meneo:

    osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html
    XNU's Mach component is based on Mach 3.0, although it's not used as a microkernel. The BSD subsystem is part of the kernel and so are various other subsystems that are typically implemented as user-space servers in microkernel systems.
    Traducción:
    El componente Mach de XNU está basado en Mach 3.0, aunque no se usa como microkernel. El subsistema BSD es parte del kernel y también lo son otros subsistemas que se implementan típicamente como servidores de espacio de usuario en sistemas de microkernel.

    No es que el subsistema BSD sea parte del kernel, es que el subsistema BSD es una parte del kernel de FreeBSD y como tal se ha mantenido en XNU, es decir, en espacio privilegiado.

  8. ¡Mira!, ¡leo cosas!

  9. ¡Mira!, ¡leo cosas!
  10. #2
    XNU en todo caso, que es el núcleo de macOS.
    Linux es núcleo de GNU, sistemas Musl, Android y otros.
  11. #3 esa es la parte interesante y el tema de discusión principal del famoso debate entre Torvalds y Tanembaum.

    En este momento, claramente, se ha impuesto el núcleo monolítico. Sin embargo, curiosamente, el núcleo oficial de GNU es el microkernel Hurd.
comentarios cerrados

menéame