I recently found out that Android’s kernel is VERY different from any Apple implementation. Never really crossed my mind that there are different types of kernels.

This made me wonder - if the microkernel is so much better, at the cost of being complicated to develop an OS for, would Android be better on microkernel?

Please enlighten me. I’m only trying to learn more.

Also, do interact, Lemmy needs good conversation.

  • Atemu@lemmy.ml
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    10 months ago

    This isn’t really fit for the Android community because “Android’s kernel” is the Linux kernel. Android is more about everything beyond the kernel; the userspace APIs and components that make an Android phone actually work. The kernel is rather unimportant here. Android uses Linux because it’s the most mature operating system out there.

    Monolith vs. microkernel has been a hot debate in operating systems ever since the concepts emerged.

    I personally really like the basic idea behind microkernels (separating mechanism and policy) but can also appreciate that, in reality, the best kernel in existence for general purpose computing is purposefully a monolith while the best a true microkernel (Minix) has achieved is to run CPU firmware.

    Do note, over the past decade or so, that Linux has sorta been stealthily laying out the basics to turn itself into something of a microkernel. See https://en.wikipedia.org/wiki/EBPF

    Android uses Linux’ eBPF for its firewall implementation for instance.

    I don’t have much experience with Apple’s XNU kernel but AFAIK it’s not a true microkernel but a lot more of a microkernel than Linux is.