Introduction to Mobile Oses
Introduction to Mobile OSes, covers the following topics.
- Introduction to Mobile Oses
- Build and Structure of Mobile Oses
- Introduction to development environment
- Introduction to Android
- API Levels/ Android Versions
- Pros and Cons of Android
- Comparison of Android with other OS
- Introduction to Android VM and Runtime
- Adb Command line interfaces
Introduction to Mobile Oses
Mobile Operating Systems (Mobile OSes) are software platforms that manage smartphone and tablet functions. They support touch interfaces, connectivity, and app management. Common OSes include Android, iOS, Ubuntu Touch, Tizen, BlackBerry OS, Firefox OS, Symbian, and Windows Phone.
Android is open-source and widely used, while iOS is exclusive to Apple devices. Others like Tizen and Ubuntu Touch focus on specific devices or privacy. Legacy OSes such as Symbian and BlackBerry OS shaped early mobile experiences. Understanding these systems is essential for mobile app development and optimizing user experience across various devices and platforms.
Types of Mobile Oses
1) Android
- Open-source OS
- Customizable by manufacturers (e.g., Samsung, Xiaomi).
- Powers phones, tablets, TVs, and cars (Android Auto).
- Based on Linux Kernel
- Largest app ecosystem via Google Play Store.
2) iOS
- Closed-source, exclusive to iPhones/iPads.
- Optimized for performance and security.
- Strict app review process for quality control.
- Was programmed in C,C++ and objective C
- App ecosystem via App Store.
3)Ubuntu Touch
- Linux-based
- Supports phone-to-desktop convergence.
- Focused on privacy and open-source values.
- Limited app ecosystem compared to Android/iOS.
- Offers a unique “convergence” feature, allowing the device to function as both a smartphone and a desktop computer when connected to a monitor and keyboard.
4) BlackBerry OS
- Legacy OS known for physical keyboards and encryption.
- Targeted enterprise/business users.
- Replaced by Android on modern BlackBerry devices.
- Helped to establish the importance of mobile security and productivity features in smartphones.
5) Tizen(Samsung)
- Built with HTML5, C, C++.
- Used in wearables (Galaxy Watch) and smart TVs.
- Lightweight and energy-efficient.
- Limited third-party app support.
- Developed by Samsung and Intel.
6) Firefox OS
- Open source Os
- Discontinued
- Apps built with HTML5/JavaScript.
- Aimed at low-cost devices.
- Relied on web technologies instead of native apps.
7) Symbian(Nokia)
- Dominated early smartphones (pre-2010).
- Modular design for hardware flexibility.
- Phased out due to competition from Android/iOS.
Mobile Operating System Architecture

Fig: Mobile Os Architecture
1. Hardware
Physical components that form the foundation of a mobile device.
- Core components: CPU(Processor), RAM(Memory) , Storage (ROM)
- Sensors: GPS, accelerometer, gyroscope, proximity sensor, fingerprint scanner
- Connectivity Modules: Cellular (4G/5G modems), Wi-Fi, Bluetooth, NFC
- Multimedia Hardware: Camera, Speaker, Touchscreen
- Power Management: Battery
Security Hardware: Secure Enclave (iOS) or Titan M Chip (Android)
2. Kernel
- iOS: XNU Kernel (Darwin-based)
- Core engine of OS
- Boss or conductor of computer’s brain
- Interacts with hardware
- Manages hardware, memory, CPU and processes
- Android: Modified Linux Kernel
3. Hardware Abstraction Layer (HAL)
- Interface between the hardware and software layers
- Provides standard APIs to access hardware (e.g., camera, sensors)
- Enables hardware-independent programming for developers
- Example: Android’s Camera HAL allows apps to use device cameras without knowing hardware specifics
4. Middleware
- Libraries, APIs and Runtime environment
- Includes GPS, Wi-Fi, security, multimedia, etc.
- Android: Android Runtime (ART), native libraries
- iOS: Cocoa Touch frameworks
Role: Connects kernel to application framework and apps
5. Application Framework
- High-level API layer for developers
- Manages: Application lifecycle, User interface (UI), Notifications, background tasks, and permissions
- Android: Activities, Services, Fragments
- iOS: ViewControllers, UIKit, SwiftUI
6. Application
- Topmost layer where user apps live
- System Apps: Pre-installed (e.g., Camera, Dialer)
- User Apps: Installed from app stores (e.g., WhatsApp, Instagram)
- Apps run in isolated environments (sandboxing) for security
Core Architecture Layers Working Example
When volume Button is Pressed
Kernel Layer
- Button driver in the kernel receives the hardware interrupt
- Kernel identifies which button was pressed
- Kernel passes this raw input event to the HAL
Hardware Abstraction Layer (HAL)
- Volume button HAL module receives the event
- Translates hardware-specific signal into a standardized format
- Routes the standardized event to the appropriate system service
Middleware Layer
- Audio Service receives the volume change event
- Checks system settings for volume limits and restrictions
- Calculates new volume level based on current state
- Updates system audio settings in memory
- Triggers UI feedback mechanisms
Application Framework Layer
- Volume Manager notifies registered applications about volume change
- UI System receives instruction to display volume indicator
- Notification system prepares to notify affected applications
Application Layer
- Volume UI overlay appears on screen showing volume level
- Currently active media applications receive volume change notification
- Applications adjust their audio output accordingly
- Any app with volume-change listeners reacts to the event
Fig: Working Mechanism
Development Environment
- It’s the tools and technologies used to build mobile apps.
- Includes IDEs, frameworks, emulators, and languages.
- IDEs: Android Studio, Xcode.
- Programming Languages: Java, Kotlin (Android); Swift, Objective-C (iOS).
- Frameworks Flutter, React Native (cross-platform); Jetpack, UIKit (native).
- Emulators/Simulators Android Emulator, iOS Simulator.
- SDKs & Build Tools Android SDK, iOS SDK; Gradle, CocoaPods.
- Version Control: Git, GitHub, GitLab.
Types of Development Environment
1. HTML5
- 💻 Languages: HTML5, CSS3, JavaScript
- 🧰 Frameworks: Bootstrap, jQuery Mobile, Foundation
- 📦 Distribution: Via URL — not in app stores
- 🔍 Examples: Wikipedia Mobile, old Facebook Mobile
- 🏆 Pros: Single codebase, quick updates
- ⚠️ Cons: No native access, limited offline support
2. Hybrid
- 🧠 Web Apps Wrapped in Native Shell
- 💻 Languages: HTML, CSS, JavaScript
- 🧰 Frameworks: Cordova, Ionic, PhoneGap (discontinued but foundational)
- 📦 Distribution: Play Store / App Store
- 🔍 Examples: Early Instagram, Pacifica
- 🏆 Pros: Web tech + native distribution
- ⚠️ Cons: Dependent on WebView, slower UI
3. Cross Platform
- 🔁 One Codebase for Multiple Platforms
- 💻 Languages & Tools: Flutter (Dart) , React Native (JavaScript) Xamarin (.NET / C#), Kotlin Multiplatform
- 📦 Distribution: Play Store / App Store
- 🔍 Examples: Google Ads (Flutter), Discord (React Native), Skype (Xamarin)
- 🏆 Pros: Near-native experience, cost-effective
- ⚠️ Cons: Slight performance hit, complex debugging
4. Progressive Web Apps (PWAs)
- 🌐 Web Apps with App-like Behavior
- 💻 Languages: HTML, CSS, JS + service workers
- 🧰 Frameworks: Angular + Angular PWA Toolkit, React + Workbox, Vue + Vue CLI PWA plugin
- 📦 Distribution: Browser → “Add to Home Screen”
- 🔍 Examples: Twitter Lite, Starbucks PWA, Pinterest
- 🏆 Pros: Offline support, installable, no app store needed
- ⚠️ Cons: Limited native access, browser-dependent
5. Native
- 📱 Platform-Specific Development
- 💻 Languages & Tools: Android: Java / Kotlin + Android Studio, iOS: Swift / Objective-C + Xcode
- 🧰 Frameworks: Jetpack (Android), Swift UI, UIKit (iOS)
- 📦 Distribution: Google Play Store / Apple App Store
- 🔍 Examples: WhatsApp, Snapchat, TikTok
- 🏆 Pros: Full performance, hardware access
- ⚠️ Cons: Separate codebases, higher cost
At Glance
Feature | Native | HTML5 Web | Hybrid | Cross-Platform | PWA |
Language | Java,Kotlin, Swift | HTML, JS | HTML, JS | Dart, JS, C# | HTML, JS |
Frameworks | Jetpack, SwiftUI | Bootstrap, jQuery | Ionic, Cordova | Flutter, React Native | Angular, React, Vue |
Codebase | Separate | Single | Single | Single | Single |
Performance | ✅ Best | ❌ Lowest | ⚠️ Moderate | ✅ Near-native | ⚠️ Moderate |
Hardware Access | ✅ Full | ❌ Limited | ⚠️ Plugin-based | ✅ Good | ⚠️ Partial |
Offline Support | ✅ Yes | ❌ No | ⚠️ Some | ✅ Yes | ✅ Yes |
Store Distribution | ✅ Yes | ❌ No | ✅ Yes | ✅ Yes | ⚠️ No (Web only) |
Examples | TikTok | Wikipedia | MarketWatch | Discord, Google Ads | Starbucks, Twitter Lite |
Android
- Open-source mobile operating system developed by Google.
- Based on the Linux kernel and designed primarily for touchscreen devices.
Key Highlights
- Launched: 2008
- Current Owner: Google
- Programming Languages: Java, Kotlin, C++
- App Store: Google Play Store
- Uses: Smartphones, Tablets, TVs, Smartwatches, Cars (Android Auto)
Android API Levels
- API levels define the set of available features and system behaviors.
- Developers use them to maintain backward compatibility.
Version Name | Version Number | API Level | Release Year |
Cupcake | 1.5 | 3 | 2009 |
Gingerbread | 2.3 | 9-10 | 2010 |
Jelly Bean | 4.1 – 4.3 | 16-18 | 2012–2013 |
Lollipop | 5.0 – 5.1 | 21-22 | 2014–2015 |
Marshmallow | 6.0 | 23 | 2015 |
Nougat | 7.0 – 7.1 | 24-25 | 2016 |
Oreo | 8.0 – 8.1 | 26-27 | 2017 |
Pie | 9.0 | 28 | 2018 |
10 (Q) | 10.0 | 29 | 2019 |
11 (R) | 11.0 | 30 | 2020 |
12 (S) | 12.0 | 31 | 2021 |
13 (Tiramisu) | 13.0 | 33 | 2022 |
14 | 14.0 | 34 | 2023 |
15 (Vanilla Ice Cream) | 15.0 | 35 | 2024 |
Advantages of Android
- 🔓 Open-source and highly customizable
- 🌐 Wide device support from multiple brands
- 📦 Huge app ecosystem via Play Store
- 🔄 Seamless integration with Google services
- 🔧 Developer-friendly tools (Android Studio, Jetpack)
Disadvantages of Android
- 🧩 Fragmentation: Devices run on many different Android versions
- 🐢 Slower updates due to manufacturer delays
- 🦠 Security concerns due to openness and sideloading
- ⚙️ Varied performance on low-end vs high-end devices
Comparison between Mobile OSes
Feature | Android | iOS | HarmonyOS | KaiOS |
Developer | Apple | Huawei | KaiOS Tech | |
Source | Open-source | Closed-source | Open-source | Linux-based |
App Store | Google Play | App Store | AppGallery | KaiStore |
Customization | ✅ High | ❌ Low | ⚠️ Medium | ⚠️ Low |
Device Variety | ✅ Wide | ❌ Apple only | ✅ Huawei/Honor | ⚠️ Feature phones |
Security | ⚠️ Moderate | ✅ High | ⚠️ Improving | ⚠️ Limited |
Popular Apps | ✅ Most supported | ✅ Most supported | ❌ Limited | ❌ Limited |
Market Share | 🌍 ~70%+ (global) | 🌎 ~25% | 🌏 Growing (Asia) | 📱 Small markets |
Introduction to VM and Runtime
- A Virtual Machine is a software-based simulation of a computer.
- It runs programs as if they are running on real hardware, but inside a controlled, isolated environment.
- It allows apps to be portable, so they can run on different devices without rewriting the code for each one.
- A Runtime is the environment where the app runs, including
- System libraries
- Memory management
- Code execution
- Garbage collection (clearing unused memory)
Android uses a Virtual Machine (VM) to run apps, providing isolation, memory management, and performance optimization.
Dalvik Virtual Machine
- Used in Android versions < Android 5.0 (Lollipop)
- Based on Just-In-Time (JIT) compilation
- Apps compiled into .dex (Dalvik Executable) files
- Each app runs in its own process & instance of Dalvik VM
🧩 Example: Launching an app compiles code on the fly, slowing down start time.
ART – Ahead-Of-Time Compilation
- Replaced Dalvik from Android 5.0 onwards
- Uses Ahead-Of-Time (AOT) compilation
- Faster app execution and better battery life
- Supports improved garbage collection and debugging
🧪 Example: Apps are compiled during installation, so they run faster later.
Dalvik Vs ART
Feature | Dalvik (JIT) | ART (AOT) |
Compilation Time | During execution | During installation |
Performance | Slower | Faster |
Battery Usage | More | Optimized |
Storage | Smaller APKs | Larger due to cache |
ADB Command Lines
Command | Description |
adb devices | Lists connected devices |
adb install <apk> | Installs an APK on the device |
adb uninstall <package> | Uninstalls an app |
adb logcat | Shows system logs (useful for debugging) |
adb shell | Opens a command shell on the device |
adb push <file> <location> | Pushes a file to the device |
adb pull <file> | Pulls a file from the device |
adb reboot | Reboots the connected device |
Conclusion
In this unit, you learned the core concepts of Mobile Operating Systems, including popular platforms like Android, iOS, Ubuntu Touch, Tizen, BlackBerry OS, Firefox OS, Symbian, and Windows Phone. You explored their key features, differences, and relevance in today’s mobile landscape.
You also understood the build and structure of mobile OSes, covering layers like hardware, kernel, HAL, middleware, application framework, and user applications. The comparison between native and HTML5 development environments helped you evaluate different approaches to app development.
A major portion focused on Android, where you studied API levels, pros and cons, and how it compares to other OSes. You also explored the Android VM and Runtime, learning how Dalvik and ART affect app performance.
This unit lays the foundation for building real-world mobile applications.
Let’s get connected
We can be friends. Find on Facebook, Linkedin, Github, YouTube,
BuyMeACoffee, and Instagram.
Contribute: BuyMeACoffee
Contact: Contact Us