#факты | Как устроен Android?

Олег Довбня

Сегодня настала пора поговорить о мобильной операционной системе, которая настолько популярна, что некоторые аналитики даже прогнозируют ее вечное господство. Разговор предстоит довольно краткий и компьютерные специалисты не узнают для себя ничего нового. Но это повествование может оказаться интересным для тех пользователей, которые хотели бы знать некоторые подробности о тех устройствах, с которыми они работают изо дня в день. Современный рынок переполнен планшетами на базе операционной системы Android, поэтому не представляется возможным привести какие-либо «усредненные» спецификации. Планшетные устройства под управлением Android по сути являются просто специализированными компьютерами.

Android

Android

Большинство «андроидных» планшетов содержит следующие аппаратные компоненты:

  • Процессор, производительность которого ограничена, чтобы сократить тепловыделение
  • Чипы памяти
  • Чип накопителя и — в ряде моделей — слот для дополнительного накопителя
  • Аккумуляторная батарея
  • Графический процессор
  • Звуковой процессор и динамики
  • Сенсоры, в числе которых акселерометры, компас и светочувствительные датчики
  • GPS-приемник
  • Антенна Wi-Fi и — в ряде моделей — сотовая антенна
  • Чип Bluetooth
  • FM-тюнер
  • Камера (как минимум одна)

В определенных моделях планшетов на базе платформы Android могут отсутствовать некоторые компоненты из вышеприведенного списка.

Все «андроидные» планшеты управляются одной из версий мобильной операционной системы от компании Google. При этом, более старые версии могут не поддерживать некоторые из современных приложений.

Все версии самой популярной мобильной операционной системы имеют общее основание. Мы можем представить себе операционную систему Android в качестве многослойной структуры. Компьютерные инженеры называют это программным стеком. Элементы на вершине стека являют собою то, что видит пользователь в процессе своего взаимодействия с операционной системой. На «донышке» стека находятся те части операционной системы, которые взаимодействуют непосредственно с аппаратным обеспечением устройства.

Итак, на самом нижнем уровне находятся сами аппаратные компоненты: процессоры, сенсоры, провода и печатные платы. Следующим слоем является ядро операционной системы. Ядро иногда еще называют встроенным (или фирменным) программным обеспечением. Более известно англоязычное определение «firmware». Это программное обеспечение осуществляет контроль над аппаратными ресурсами устройства, управление ими и их распределением.

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

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

На том же уровне программного стека располагаются корневые библиотеки, необходимые для поддержки приложений, написанных на языке Java. Java является языком программирования от Sun Microsystems. Еще сравнительно недавно телефоны с поддержкой Java-приложений были очень распространены. В настоящее время они все в большей степени вытесняются смартфонами.

Виртуальная машина Android располагается на том же уровне программного стека операционной системы. Этот элемент программного обеспечения занимается созданием виртуального операционного окружения, которую иначе называют также виртуальной операционной средой. Виртуальная машина имитирует физическое устройство с отдельной операционной системой. Google спроектировала этот уровень так, чтобы каждое приложение, запущенное в операционной системе Android, функционировало в качестве отдельного процесса. Таким образом, если произойдет сбой одного из работающих процессов, остальные останутся незатронутыми. Виртуальная машина также играет роль менеджера памяти.

На следующем уровне располагается инфраструктура приложений (application framework). Она является основой для всех приложений «андроидного» девайса. Инфраструктура приложений является связующим звеном между приложениями и остальными частями операционной системы.

Google рекомендует разработчикам создавать такие приложения, которые взаимодействуют с этим слоем в рамках интерфейса прикладного программирования (API приложений) разработанной поисковым гигантом операционной системы. Разработчикам остается только ознакомиться с этими правилами, имеющими отношение к API. Им не нужно задумываться о технических характеристиках каждого «андроидного» планшета.

Самый верхний уровень программного стека содержит интерфейс пользователя и все приложения «андроидного» планшета. Именно эту часть операционной системы постоянно видит перед собой пользователь. Но за этим привлекательным и красочным слоем скрывается масса скучного, и интересного только специалистам кода.

Как и любая другая операционная система, распределяет время процессора и другие аппаратные ресурсы планшета.

По материалам computer.howstuffworks.com