Real Systems, Performance & Frontiers

Android

/ AN-droyd /

Android is the operating system on most of the world's smartphones and on countless tablets, watches, TVs, and car dashboards. From the user's side it looks like a self-contained phone system, but underneath it is built on the Linux kernel — the very same engine that runs servers and supercomputers, here tuned for a battery-powered touchscreen device. Picture a familiar car engine (Linux) dropped into a body and dashboard (the Android software stack) designed for one specific kind of driving.

The defining idea is a managed runtime sitting on top of that Linux kernel. Most Android apps are not compiled straight to machine code the way a classic desktop program is; they run inside the Android Runtime, which executes a portable form of the app and isolates each app in its own sandbox. Below the runtime, the Linux kernel still does the real operating-system work — scheduling, memory management, drivers — but Android adds its own pieces and policies: a custom power and wakelock scheme to save battery, a low-memory killer that shuts down background apps when RAM runs short, the Binder mechanism for fast inter-process communication, and a per-app security model where each app effectively runs as its own user with carefully limited permissions.

The honest clarification is that Android is not the same thing as Linux, even though it uses the Linux kernel. It deliberately leaves out much of the usual GNU/Linux user-space (the familiar shell tools and libraries) and replaces them with Android's own runtime, libraries, and frameworks. So Android is best described as a complete mobile operating system that happens to be built around a Linux kernel and a managed runtime — a clear example of the same kernel being reshaped for a very different product.

You leave a chat app in the background and start a game. When memory gets tight, Android's low-memory killer quietly ends the chat app to free RAM for the game; later, tapping the chat icon relaunches it fresh. The Linux kernel underneath provided the memory accounting, but the policy of which app to kill is Android's own.

A Linux kernel underneath, an Android runtime and policies on top.

Saying Android is Linux is only half true. It uses the Linux kernel but replaces nearly all of the typical Linux user-space with its own runtime and frameworks, so most Linux desktop programs do not run on Android unchanged.

Also called
Android OSAndroid 作業系統