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

Introduction to Mobile Oses

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
architecture of mobile operating system

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

FeatureNativeHTML5 WebHybridCross-PlatformPWA
LanguageJava,Kotlin, SwiftHTML, JSHTML, JSDart, JS, C#HTML, JS
FrameworksJetpack, SwiftUIBootstrap, jQueryIonic, CordovaFlutter, React NativeAngular, React, Vue
CodebaseSeparateSingleSingleSingleSingle
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)
ExamplesTikTokWikipediaMarketWatchDiscord, Google AdsStarbucks, 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 NameVersion NumberAPI LevelRelease Year
Cupcake1.532009
Gingerbread2.39-102010
Jelly Bean4.1 – 4.316-182012–2013
Lollipop5.0 – 5.121-222014–2015
Marshmallow6.0232015
Nougat7.0 – 7.124-252016
Oreo8.0 – 8.126-272017
Pie9.0282018
10 (Q)10.0292019
11 (R)11.0302020
12 (S)12.0312021
13 (Tiramisu)13.0332022
1414.0342023
15 (Vanilla Ice Cream)15.0352024

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

FeatureAndroidiOSHarmonyOSKaiOS
DeveloperGoogleAppleHuaweiKaiOS Tech
SourceOpen-sourceClosed-sourceOpen-sourceLinux-based
App StoreGoogle PlayApp StoreAppGalleryKaiStore
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

FeatureDalvik (JIT)ART (AOT)
Compilation TimeDuring executionDuring installation
PerformanceSlowerFaster
Battery UsageMoreOptimized
StorageSmaller APKsLarger due to cache

ADB Command Lines

CommandDescription
adb devicesLists connected devices
adb install <apk>Installs an APK on the device
adb uninstall <package>Uninstalls an app
adb logcatShows system logs (useful for debugging)
adb shellOpens 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 rebootReboots 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 FacebookLinkedinGithubYouTube

BuyMeACoffee, and Instagram.

Contribute: BuyMeACoffee

ContactContact Us