Comment by Ygg2
2 years ago
I'm glad you can read my mind and decide what I'm using for OS definition.
But no, Debian Linux running on a VM is not its OS, but Mint Linux running on my hardware is the OS.
An OS is a body of software that:
- multiplexes machine hardware resources
- abstracts the hardware platform
- protects software principals from each other
Does Debian Linux in a VM multiplexes the hardware resources? Not really. Does a VM running on Mint Linux? Again not really. They are multiplexing the resources given to them, but not actual hardware resources.
Android runs Linux on the hardware of the device.
Android 13 did add the ability to run Linux in a VM, but the host OS still is running Linux without virtualization
Linux on Android doesn't multiplex or protect software principals from each other. It did for a brief time, but that led to massive vulnerablilities. Because Linux view of hardware (nice symmetric system with homogeneous cores running single OS with shared memory address space) was different from what was the actual state.
For that reason hardware was abstracted away from Linux and it's only used to run Linux programs. It's not containerized. It's isolated to an enclave where damage it can do is minimal.
Android OS is essentially a ball of propietary firmware mud. With Linux programs and Dalvik JVM.
For more: https://youtu.be/36myc8wQhLo
>Linux on Android doesn't multiplex or protect software principals from each other.
What? Linux is the only part of the system that directly talks to the hardware and multiplexes it between other applications on top. It enforces security between different apps on the system from interfering with each other.
>Because Linux view of hardware (nice symmetric system with homogeneous cores running single OS with shared memory address space) was different from what was the actual state.
Linux does not assume homogeneous cores.
>For that reason hardware was abstracted away from Linux
It's not. Drivers for interfacing with the hardware have to be built into Linux / a Linux kernel module.
>and it's only used to run Linux programs.
All running processes on the system are running on Linux.
>It's not containerized.
It uses the Linux kernel to enforce security boundaries which is what containers do.
>Android OS is essentially a ball of propietary firmware mud. With Linux programs and Dalvik JVM.
You can run Android without any proprietary firmware. Dalvik is not a JVM.
3 replies →