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

Обновлено: 17 апреля 2026 г. в 23:16

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

средний

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

Глава про Android полезна тем, что быстро переносит разговор из серверных предположений в мир батареи, памяти, нестабильной сети и жёсткого жизненного цикла приложения.

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

В интервью и архитектурных обсуждениях материал особенно полезен там, где нужно показать: мобильная архитектура не является уменьшенной копией серверной части, у неё свой набор ограничений и компромиссов.

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

Ограничения устройства

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

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

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

Поведение приложения во время работы

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

Практичность на интервью

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

Источник

Android

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

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

Что такое Android

Android полезно понимать не как просто «Linux на телефоне», а как мобильную платформу, где ядро, системные сервисы, модель безопасности и жизненный цикл приложений подстроены под ограничения устройства.

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

На прикладном уровне запуск начинается с , продолжается через , и . Для архитектора это важно, потому что мобильный клиент живёт под ограничениями , памяти, сети и хвостовой .

Даже если команда не работает напрямую с Linux-механизмами вроде и , именно они помогают изолировать процессы и ограничивать расход ресурсов. Отсюда растут требования к локальной устойчивости, и осторожному мобильных изменений.

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

Эту платформу удобнее читать как набор слоёв: сверху находятся приложения и системный фреймворк, ниже среда выполнения и нативные библиотеки, а ещё ниже слои, которые связывают Android с железом.

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

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

Верхний слой

Приложения

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

  • Системный интерфейс
  • Launcher
  • Приложения

Фреймворк приложений

Системные сервисы, диспетчеры экранов и базовые API для приложений.

  • ActivityManager
  • WindowManager
  • Content Providers
Переход к среде выполнения

Слой исполнения

Среда выполнения и нативные библиотеки

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

Среда выполнения Android (ART)

Исполнение кода приложений, управление памятью и загрузка классов.

  • ART
  • Сборка мусора
  • Загрузчик классов

Нативные библиотеки

Библиотеки платформы для графики, мультимедиа и локального хранения.

  • Графика
  • Мультимедиа
  • SQLite
Переход к базовому системному слою

Базовый системный слой

HAL и ядро Linux

Ядро ОС

Аппаратный абстракционный слой (HAL)

Слой, который унифицирует доступ к камере, аудио, сенсорам, GPS и модему.

  • Камера
  • Аудио
  • Сенсоры

Ядро Linux

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

  • Планировщик
  • Память
  • Драйверы
Аппаратный уровень

Устройства

Аппаратная основа

CPURAMGPUМодемХранилище

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

Даже один экран на телефоне проходит через несколько слоёв: системный запрос на запуск, системные сервисы, среду выполнения, обращения к ядру и затем графический вывод на экран.

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

От запуска до кадра на экране: как запрос проходит через слои Android

Приложение

Слой 1
LauncherActivityИнтерфейс

Фреймворк Android

Слой 2
ActivityManagerWindowManagerIntent

Среда выполнения Android

Слой 3
ARTСборка мусораЗагрузчик классов

Нативные библиотеки

Слой 4
ГрафикаМультимедиаSQLite

Ядро Linux

Слой 5
ПланировщикПамятьДрайверы

Устройство

Слой 6
GPUЭкранСенсоры
Переход к устройству

Текущий шаг

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

Ключевые особенности Android

  • Жёсткая изоляция приложений и встроенная в платформу модель разрешений.
  • Управляемый жизненный цикл экранов, сервисов и фоновых задач.
  • Жёсткий контроль фоновой активности ради батареи, памяти и сетевых ресурсов.
  • Глубокая интеграция с сенсорами, камерой, геолокацией и телефонией.
  • Стандартизованный путь распространения, обновления и отката приложений.

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

Linux: серверная платформа

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

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

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

Android использует ядро Linux, но строит вокруг него собственное пользовательское пространство, системные сервисы и библиотеку bionic вместо glibc.

Приложения исполняются в ART и подчиняются жизненному циклу Activity и Service, а не модели долгоживущих обычных процессов.

Безопасность сильнее завязана на песочницы приложений, разрешения и посреднический доступ к возможностям устройства.

Вся платформа проектируется под батарею, мобильную сеть, ограниченный фон и работу с сенсорами.

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

  • Мобильный клиент живёт в условиях ограниченных батареи, памяти и процессорного времени, поэтому архитектура должна экономно расходовать ресурсы.
  • Связь нестабильна, поэтому важны локальное состояние, кэширование, очередь синхронизации и аккуратная работа с повторами.
  • Фоновые ограничения ОС влияют на уведомления, расписание задач и момент, когда данные действительно доходят до сервера.
  • Разрешения, приватность и доступ к сенсорам меняют контракт между продуктом, API и пользовательским опытом.
  • Поэтапный выпуск обновлений и диагностика проблем на устройстве так же важны, как серверная эксплуатация.

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

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