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.

  • RiderExMachina@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    6 months ago

    This is my opinion as a random person on the internet: no. The kernel only affects what hardware it can be ran on. Everything else that would make a difference to end users is basically done in userspace.

    The thing holding Android back is its JVM layer between the kernel and the userspace. This adds overhead, meaning your phone needs more RAM or it will have performance issues. You also need slower default animations to cover up the increased loading times from this overhead, which make the system seem slow, especially when compared to iPhones.

    • Ramenator@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      6 months ago

      I agree with the Runtime being slower. These days Android doesn’t technically use the JVM anymore but the Android Runtime, ART for short, that actually performs ahead of time compilation to native code for the byte code for increased performance. Still, the Java Runtime it implements is very heavy and comes with it’s own overhead, so native Android code written in Java/Kotlin is generally slower than native iOS code written in Objective C/Swift.

      The kernel architecture does influence more than just the hardware it can run on though. Microkernels for example are generally more secure but slower than monolithic kernels