Rascals are always sociable, and the chief sign that a man has any nobility in his character is the little pleasure he takes in others company. Arthur Schopenhauer

Let’s start our journey from the architecture of the Android operating system and its internals. This chapter covers the minimal information we need to know to feel comfortable working on topics covered in the following sections.

The kernel used in Android is based on Linux, but with some significant additions, including Low Memory Killer, wake locks, the Binder IPC driver, etc.

For our purposes, we are more interested in the user-mode part of the operating system, and here Android significantly differs from a typical Linux distribution, two important components for us are a managed runtime used by applications (ART/Dalvik) and Bionic, Android’s version of glibc, the GNU C library.Android 101 - Android operating system and its internals