Особенности системы Android


Многих в детские годы интересовали всевозможные конструкторы, в подростковые годы некоторые переходили на радиоприемники, а ещё позднее — занимались ремонтом автомобилей и прочей техники. Теперь, когда практически у каждого в наличии имеется мобильный гаджет, оснащённый современным программным обеспечением, интересы переместились в сторону операционной системы Android. Эта система позволяет пользователю вносить изменения в собственные схемы, что нередко приводит к не очень приятным последствиям. Иногда дело спасает только наличие исходников Android.


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


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


Особенности системы Android

Ядро Android представляет собой центр этой системы. Обычно ядро в чистом виде остаётся доступным, но в данной системе к нему присоединяются дополнения. При этом, происходит потеря свойств, ответственных за прямую совместимость. В наше время осуществляются работы, в результате которых будет произведено присоединение, так называемых «андроидизмов», к ядру.


Вот краткие описания особенностей некоторых «андроидизмов»


Wakelocks. Этот механизм прошёл достаточно длительный путь формирования и развития. Об истории его создания и разработки может быть написана не одна статья. Все ПК и ноутбуки обладают стабильной системой энергорежимов. Если компьютер используется, то он работает на полную, если нет, то он уходит в спящий режим. В сон он может быть переведён автоматически или при помощи пользователя. В телефонах же все происходит наоборот. В них спячка является основным состоянием, а активация происходит по мере необходимости. Это часто приводило к тому, что система засыпала даже в тех случаях, когда какое-либо приложение продолжало работать в фоновом режиме. Для телефонов был реализован механизм wakelock-ов, позволяющий захватывать wakelock до того мгновения, пока какое-либо важное приложение не закончит работать полностью. Таким образом, устройство дожидается завершения процесса. Данный механизм давно уже пытались импортировать в ядро, но не все разработчики были с этим согласны. Дело в том, что нужно было решить очень узко специализированную задачу. В качестве целевой платформы использовалась ARM, поэтому необходимо было создавать механизмы специально для этой платформы, учитывая её особенности. Данная платформа отличается наличием процессоров, которые приспособлены для частого изменения режимов сна и бодрствования. Андроид использует приложения, питание которых осуществляется посредством Power Manager. При этом нужно было решить задачу контроля клиентских Линукс приложений. Программисты Андроид даже не стали заниматься проблемой совмещения, но добавили в ядро API, имеющий идентичный функционал autosleep.


Low Memory Killer. Если рассматривать стандартное ядро ОС Линукс, то в нём определение убиваемого процесса осуществляется методом отслеживания badness. Это происходит с помощью Out of Low Memory Killer. Это означает, что наиболее часто прерываются те процессы, которые имеют больший вес и занимают меньше времени. В Андроид вытесняемый процесс определяется с использованием совершенно иных критериев. Должен присутствовать живой компонент системы, и он должен быть виден пользователю.


Binder. В ОС Андроид имеется ряд приложений, которые предназначены для решения проблемы межсистемного взаимодействия. В их числе следует назвать и Binder. Это решение пришло разработчикам данной системы не сразу. За основу был взят механизм OpenBinder, который был разработан специалистами, однажды присоединившимися к команде Андроид.


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


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


Таким образом, система Андроид имеет ряд особенностей, отличающих ее от прочих систем и дистрибутивов.


  • Дата: 13-08-2018, 20:30

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Особенности системы Android

Технологии, секреты и фишки Apple: Iphone, iPad, iPod