L2 - Android Architecture Flashcards

1
Q

What is the world’s most popular mobile operating system, is renowned for its open-source and flexible architecture?

A

Android

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

__________ 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.

A

Android’s architecture

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Android’s architecture is built upon the ________, which provides essential services such as hardware abstraction, memory management, and process management.

A

Linux kernel

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

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.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Android’s architecture from the bottom:

A

Linux Kernel
Platform libraries
Android runtime
Application framework
Applications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

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.

A

Linux Kernel

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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.

A

Linux Kernel; Foundation of the System

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

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.

A

hardware abstraction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

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.

A

Hardware abstraction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

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.

A

Kernel; Memory management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

__________ 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.

A

Process management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

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.

A

Linux Kernel; Security and Permissions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

__________ are software components that enable communication between the Kernel and hardware devices.

A

Device drivers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

It includes a vast array of device drivers, making it compatible with a wide range of hardware, from different manufacturers and device classes.

A

Linux Kernel; Device Drivers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

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.

A

Linux Kernel; File System Support

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

_________ 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.

A

Power management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

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.

A

Interprocess Communication (IPC)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

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.

A

Real-Time Features

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Above the Linux Kernel, Android includes a set of native libraries written in C and C++. These libraries provide core functionality to the Android system and are accessible to both system-level processes and Android applications. Examples of native libraries include the SQLite database library, WebKit for web rendering, and OpenGL for graphics rendering.

A

Platform Libraries

20
Q

Platform Libraries:

______ is a lightweight relational database management system. It is integrated into Android as a platform library and provides a structured and efficient way to store and retrieve data for Android applications.

A

SQLite

21
Q

Platform Libraries:

Use Cases: Android applications use _____ to manage local databases for tasks such as storing user data, application settings, and cached information.

A

SQLite

22
Q

Platform Libraries:

______ is a subset of the OpenGL graphics rendering API. It allows Android to leverage hardware acceleration for 2D and 3D graphics rendering.

A

OpenGL ES (Embedded Systems); OpenGL ES (Graphics Libraries)

23
Q

Platform Libraries:

Use Cases: Applications, particularly games and graphics-intensive applications, use ________ to create visually appealing and responsive user interfaces.

A

OpenGL ES

24
Q

Platform Libraries:

It is an open-source web rendering engine. In Android, it is used to render HTML content within applications, including web browsers, email clients, and web-based views.

A

WebKit; WebKit (Web Rendering Engine)

25
Q

Platform Libraries:

Use Cases: Android applications that display web content or utilize web-based technologies use ______ to provide web browsing functionality.

A

WebKit; WebKit (Web Rendering Engine)

26
Q

Platform Libraries:

The ________ consists of platform libraries and services for handling multimedia content, including audio and video playback, recording, and streaming.

A

Media Framework

27
Q

Platform Libraries:

Use Cases: Android applications rely on the __________ to provide features like playing music, watching videos, recording audio, and streaming media content.

A

Media Framework

28
Q

Platform Libraries:

It is responsible for managing the display subsystem in Android. It enables the composition and rendering of graphical elements on the screen.

A

Surface Manager

29
Q

Platform Libraries:

Use Cases: Applications use this to create and manage graphical surfaces for rendering UI elements, animations, and video playback.

A

Surface Manager

30
Q

Platform Libraries:

It is a C library developed specifically for Android. It provides a subset of the standard C library functions tailored to the needs of the Android platform.

A

Bionic; Bionic Library

31
Q

Platform Libraries:

Use Cases: It is used by both the Android operating system and applications for low-level system operations and C-based code execution.

A

Bionic; Bionic Library

32
Q

Platform Libraries:

These libraries provide secure communication over the internet by implementing encryption protocols such as ________ and _______.

A

SSL (Secure Sockets Layer)
TLS (Transport Layer Security);
SSL/TLS Libraries

33
Q

Platform Libraries:

Use Cases: Secure network communication, including HTTPS connections in web browsers and secure data transmission in various applications, relies on these libraries.

A

SSL/TLS Libraries

34
Q

Platform Libraries:

Android includes a variety of this that offer support for specific functions, such as image decoding, audio processing, and more.

A

Other Native Libraries

35
Q

Platform Libraries:

Use Cases: Applications may utilize these libraries to perform tasks like image manipulation, audio processing, or interfacing with specific hardware components.

A

Other Native Libraries

36
Q

This is responsible for executing Android applications. It’s a virtual machine that runs application code. In earlier Android versions, it used a Just-In-Time (JIT) compilation approach to convert application bytecode into native machine code at runtime, which improved execution speed. In later versions, ART adopted an Ahead-of- Time (AOT) compilation strategy, where application bytecode is compiled into native code during installation, further enhancing app performance.

A

Android Runtime (ART)

37
Q

Android Runtime (ART) is responsible for executing Android applications. It operates in the user space and includes two main components:

A

Dex Compiler
Core Libraries

38
Q

In earlier Android versions, applications were executed using a Just- In-Time (JIT) compiler, which converted bytecode into machine code at runtime. In modern Android versions, ART uses an Ahead-of-Time (AOT) compiler, compiling the bytecode into native machine code during the app installation for improved performance.

A

Dex Compiler

39
Q

Core Libraries: These libraries contain the core Java and Kotlin libraries used by Android applications. They provide essential functionality for applications, such as data structures and utilities

A

Core Libraries

40
Q

The ________ layer sits on top of the lower layers and provides a rich set of abstractions and services for application development.

A

Application Framework

41
Q

It is a layer that provides high-level abstractions and services for application development.

A

Application Framework

42
Q

It offers a structured and consistent way for developers to interact with the Android system.

A

Application Framework

43
Q

8 key components within the Application Framework include:

A

Activity manager
Content Provider
Resource Manager
Notification Manager
Location Manager
View System
Package Manager
Telephony Manager

44
Q

At the top of the Android architecture are the applications themselves. ________can be pre-installed system apps, such as the dialer, contacts, and messaging apps, or third-party apps installed by users from sources like the Google Play Store.

A

Android applications

45
Q

It leverage the underlying layers of the architecture to provide a wide range of functionalities, from productivity and communication to entertainment and gaming.

A

Android applications

46
Q

At the top of the Android architecture are the applications themselves. These can be system applications pre-installed on the device, such as the Phone, Contacts, or Messaging apps, or third-party applications installed by users from various sources, including the Google Play Store.

A

End-User Experience

47
Q

Android applications offer a wide range of functionalities, from productivity tools and communication apps to entertainment, games, and utilities. They leverage the underlying layers of the Android architecture to provide users with a rich and diverse set of experiences.

A

Diverse Functionality