MODULE 5: Mobile Operating Systems
5.1 Introduction to Mobile Operating Systems
A Mobile Operating System (Mobile OS) is a software platform on top of which other
programs (apps) can run on mobile devices like smartphones, tablets, smartwatches, etc.
Popular Mobile OS: Android, iOS, Harmony OS, KaiOS
5.2 Intel and ARM Architectures
ARM Architecture (Advanced RISC Machine)
RISC-based (Reduced Instruction Set Computer)
Widely used in mobile devices due to:
o Low power consumption
o Simple design
o Small size
o Lower cost
Supports 32-bit and 64-bit modes
Examples: ARM Cortex-A53, Cortex-A75
Intel Architecture (x86/x64)
CISC-based (Complex Instruction Set Computer)
Used in PCs and laptops
Higher performance, but more power-hungry
Intel Atom chips were used in early tablets and smartphones but largely replaced by
ARM
Comparison:
Feature ARM Intel (x86/x64)
Instruction Set RISC CISC
Power Efficiency High Moderate to Low
Performance Moderate High
Feature ARM Intel (x86/x64)
Cost Low High
Usage Mobile devices Desktops, laptops
5.3 Power Management in Mobile OS
Mobile devices have limited battery life, so power management is a critical concern in
Mobile OS.
Power Management Strategies:
1. CPU Throttling: Reducing CPU speed during low usage.
2. Dynamic Voltage and Frequency Scaling (DVFS).
3. Sleep States: Suspend device when idle.
4. App Standby and Doze Modes (Android).
5. Battery Usage Monitoring for background processes.
Mobile OS actively manages hardware components to extend battery life without degrading
user experience.
5.4 Mobile OS Architectures
1. Android Architecture
A layered architecture:
1. Linux Kernel: Low-level hardware interaction
2. Hardware Abstraction Layer (HAL): Interfaces for camera, sensors, etc.
3. Native Libraries: C/C++ libraries like SQLite, OpenGL
4. Android Runtime (ART): Replaces Dalvik; executes .dex code
5. Application Framework: Java APIs like Activity Manager, Content Providers
6. Applications: Email, Dialer, Camera, etc.
(Optional for slides)
2. iOS Architecture (Apple)
1. Core OS: Kernel, drivers
2. Core Services: SQLite, networking
3. Media Layer: Audio, video, graphics
4. Cocoa Touch: UI framework
5. Apps: App Store apps and system apps
5.5 Underlying OS and Kernel Structures
Linux Kernel in Android:
Modified version of Linux Kernel (Monolithic)
Additional modules:
o Binder IPC
o Low Memory Killer
o Power Management enhancements
Kernel Roles:
Process scheduling
Memory management
Device control
Inter-process communication
5.6 Native Level Programming
Mobile platforms allow native programming for performance-critical apps.
In Android:
NDK (Native Development Kit) allows C/C++ code
Used in:
o Game engines (Unity, Unreal)
o Signal processing apps
o Legacy C libraries
Advantages:
Faster execution
Direct hardware access
Disadvantages:
Less portable
Complex debugging
5.7 Runtime Issues in Mobile OS
Common Runtime Issues:
Memory Leaks (due to background services)
Battery Drain (poor resource management)
UI Lag (unoptimized threads or I/O)
App Crashes (API mismatches, permissions)
Fragmentation (especially in Android across devices and OS versions)
5.8 Approaches to Power Management
Technique Description
App Standby Buckets Android groups apps by usage frequency
Doze Mode Delays background tasks when the device is idle
Foreground Services Used for priority tasks that must continue
JobScheduler Allows OS to batch background jobs to save power
Developers must design energy-efficient apps by following platform best practices.