System Design Space

    Глава 70

    Обновлено: 9 февраля 2026 г. в 20:31

    Android: мобильная ОС

    Прогресс части0/20

    Архитектура Android, отличие от Linux, ограничения и возможности мобильных устройств.

    Источник

    Android

    Архитектура Android, особенности и сценарии применения.

    Перейти на сайт

    Android — мобильная операционная система, построенная поверх Linux kernel и адаптированная под смартфоны и планшеты. Она задаёт архитектуру, безопасность и жизненный цикл приложений.

    Базовая архитектура Android

    Сверху — приложения и фреймворк, снизу — слои, которые ближе всего к железу.

    App layer

    Приложения и фреймворк

    Top layer

    Applications

    Пользовательские приложения и System UI.

    • System UI
    • Launcher
    • Apps

    Application Framework

    Системные сервисы, менеджеры активности и уведомления.

    • ActivityManager
    • WindowManager
    • Content Providers
    Runtime boundary

    Runtime layer

    Runtime и Native библиотеки

    Code execution

    Android Runtime (ART)

    Runtime для приложений, сборка мусора, оптимизация кода.

    • ART
    • GC
    • Class Loader

    Native libraries

    C/C++ библиотеки платформы: графика, мультимедиа, SQLite.

    • Graphics
    • Media
    • SQLite
    Platform boundary

    Platform layer

    HAL и Linux kernel

    OS core

    Hardware Abstraction Layer (HAL)

    Абстракция доступа к камере, аудио, сенсорам, GPS, модему.

    • Camera
    • Audio
    • Sensors

    Linux kernel

    Планирование, память, сеть, драйверы устройств.

    • Scheduler
    • Memory
    • Drivers
    Hardware

    Hardware

    Железо

    CPURAMGPUModemStorage

    Как запускается мобильное приложение

    Пример цепочки: пользователь запускает приложение, Android поднимает процесс и отдаёт управление системным сервисам, после чего UI рендерится через графический стек.

    Запуск мобильного приложения

    От Intent до рендера: как запрос проходит по слоям Android

    Apps

    Layer 1
    LauncherActivityUI

    App Framework

    Layer 2
    ActivityManagerWindowManagerIntent

    Android Runtime

    Layer 3
    ARTGCClass loader

    Native libs

    Layer 4
    GraphicsMediaSQLite

    Linux kernel

    Layer 5
    SchedulerMemoryDrivers

    Hardware

    Layer 6
    GPUDisplaySensors
    Hardware path

    Активный шаг

    Нажмите «Старт», чтобы увидеть цепочку запуска.

    Как работает и ключевые особенности

    • Жёсткая изоляция приложений и модель разрешений (permissions).
    • Управление жизненным циклом приложений и активностей.
    • Оптимизация под батарею и фоновые ограничения.
    • Глубокая интеграция с мобильными сенсорами и радиомодемом.
    • Единый магазин приложений и модель распространения.

    Отличия Android от классического Linux

    Использует Linux kernel, но со своим user space и библиотекой bionic вместо glibc.

    Приложения работают в ART с управляемым runtime и собственным жизненным циклом.

    Сильнее выражена модель песочниц и разрешений на уровне ОС.

    Глубокая ориентация на мобильные устройства, энергоэффективность и сенсоры.

    Почему это важно для системного дизайна

    • Мобильные устройства ограничены батареей, CPU и памятью — это влияет на архитектуру приложений.
    • Сетевые условия нестабильны: нужны офлайн-режимы, кэширование и ретраи.
    • Фоновые задачи и уведомления регулируются ОС, что влияет на синхронизацию данных.
    • Сенсоры, геолокация и камера дают новые продуктовые возможности.
    • Безопасность и приватность требуют аккуратной работы с разрешениями.