System Design Space
Граф знанийНастройки

Обновлено: 24 марта 2026 г. в 11:23

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

medium

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

Глава про Android полезна тем, что быстро сдвигает фокус с привычного server-side мышления на среду, где батарея, память, сеть и жизненный цикл приложения постоянно диктуют архитектуру.

В реальной работе она помогает проектировать мобильные клиенты и API с учетом фоновых ограничений, нестабильной связи, offline-first сценариев и дорогих ошибок синхронизации.

В интервью и design review материал особенно полезен там, где нужно показать, что мобильная архитектура - это не уменьшенная копия backend, а другой набор ограничений и компромиссов.

Практическая польза главы

Mobile constraints

Учит проектировать архитектуру с учетом батареи, сети, памяти и фоновых ограничений платформы.

Client-server contracts

Помогает строить API и синхронизацию данных для нестабильных сетей и офлайн-сценариев.

Runtime behavior

Показывает, как жизненный цикл приложений влияет на надежность и UX мобильной системы.

Interview realism

Дает аргументы для mobile/system design вопросов, где важны практические ограничения устройства.

Источник

Android

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

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

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

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

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

Слой приложений

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

Верхний слой

Applications

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

  • System UI
  • Launcher
  • Apps

Application Framework

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

  • ActivityManager
  • WindowManager
  • Content Providers
Граница runtime

Слой runtime

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

Исполнение кода

Android Runtime (ART)

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

  • ART
  • GC
  • Class Loader

Native libraries

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

  • Graphics
  • Media
  • SQLite
Граница платформы

Слой платформы

HAL и Linux kernel

Ядро ОС

Hardware Abstraction Layer (HAL)

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

  • Camera
  • Audio
  • Sensors

Linux kernel

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

  • Scheduler
  • Memory
  • Drivers
Железо

Железо

Железо

CPURAMGPUModemStorage

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

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

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

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

Apps

Слой 1
LauncherActivityUI

App Framework

Слой 2
ActivityManagerWindowManagerIntent

Android Runtime

Слой 3
ARTGCClass loader

Native libs

Слой 4
GraphicsMediaSQLite

Linux kernel

Слой 5
SchedulerMemoryDrivers

Hardware

Слой 6
GPUDisplaySensors
Путь к железу

Активный шаг

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

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

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

Связанная глава

Linux: архитектура и популярность

Базовая архитектура Linux и причины, почему он стал стандартом серверной инфраструктуры.

Открыть главу

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

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

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

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

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

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

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

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки