L2 - Android Architecture Flashcards
What is the world’s most popular mobile operating system, is renowned for its open-source and flexible architecture?
Android
__________ is designed to support a wide range of devices, from smartphones and tablets to smart TVs and IoT devices, making it a versatile platform for both developers and users.
Android’s architecture
Android’s architecture is built upon the ________, which provides essential services such as hardware abstraction, memory management, and process management.
Linux kernel
True or False:
On top of the Linux kernel, Android layers a comprehensive software stack that includes native libraries, the Android Runtime (ART), the Application Framework, and the applications themselves.
True
Android’s architecture from the bottom:
Linux Kernel
Platform libraries
Android runtime
Application framework
Applications
The _____ is a crucial component of the Android operating system, serving as the core layer that interacts directly with the hardware and provides essential services and functionality.
Linux Kernel
The ______ is the foundational layer of the Android operating system. It is based on the Linux open-source kernel, which is renowned for its stability, security, and performance.
Linux Kernel; Foundation of the System
One of the primary roles of the Linux Kernel in Android is ________. It acts as an intermediary between the hardware components of the device (such as the CPU, memory, storage, and input/output devices) and the higher-level software layers.
hardware abstraction
It allows Android to run on a wide variety of devices with different hardware configurations. Application developers don’t need to worry about hardware-specific details; they can write code that interacts with the Kernel’s standardized APIs.
Hardware abstraction
The _____ manages system memory, ensuring efficient allocation and deallocation of resources. It controls how memory is allocated to processes and ensures that one process cannot interfere with the memory of another.
Kernel; Memory management
__________ is a critical task of the Linux Kernel. It handles the creation, scheduling, and termination of processes. In Android, each application runs in its own process, and the Kernel manages these processes efficiently.
Process management
The ___________ enforces security by implementing user and group permissions. It ensures that processes and applications can only access resources and perform actions for which they have proper permissions. Android utilizes Linux user and group permissions to isolate applications and protect user data and system resources.
Linux Kernel; Security and Permissions
__________ are software components that enable communication between the Kernel and hardware devices.
Device drivers
It includes a vast array of device drivers, making it compatible with a wide range of hardware, from different manufacturers and device classes.
Linux Kernel; Device Drivers
It supports various file systems, including Ext4 (the default for Android), FAT, NTFS, and more. This support is crucial for managing storage devices and file access by applications.
Linux Kernel; File System Support
_________ features in the Kernel are essential for optimizing battery life on mobile devices. It controls CPU frequencies, screen brightness, device sleep states, and other power-related functions.
Power management
Android applications often need to communicate with one another. The Linux Kernel provides IPC mechanisms such as pipes, sockets, and message queues to facilitate communication between processes.
Interprocess Communication (IPC)
While Android primarily targets consumer devices, the Linux Kernel can be configured to support real-time features in embedded and specialized systems, where precise timing and predictability are essential.
Real-Time Features