Операционная система Android — все, что вам нужно знать

Android Authority:

Как пользователю старых телефонных «дозвонщиков», рано или поздно наступает время обновиться с покупкой современного смартфона. Выбрав смартфон под управлением Android (ОС Android), новые владельцы растеряны, не зная, с чего начать. Прежде всего, нужно понимать, что смартфон — это многофункциональное мобильное устройство, которое позволяет решать множество задач повседневной жизни, в том числе звонки посредством сотовой связи.

Хотя большинство из нас точно знает, что такое Android и как его использовать, все же есть люди, которые не знакомы с мобильной операционной системой Google.

А Вы новичок в Android?

Если да, то эта статья как раз для вас.

Android развивался с годами и быстро стал доминирующей мобильной платформой во всем мире. По данным StatCounter, по состоянию на июль 2020 года Android занимает более 74% мирового рынка мобильных операционных систем.

Доля мирового рынка мобильных операционных систем для StatCounter (июль 2020 г):

  • iOS — 24,82%;
  • KaiOS — 0,1%;
  • Окна — 0,04%.
  • Samsung — 0,21%;
  • Android — 74,6%;
  • Неизвестно — 0,13%;

Android — это операционная система

Фото Android 2
Операционная система Android 11 на экране смартфона.

Android — это не телефон или приложение, а операционная система (ОС), основанная на ядре Linux. В самом простом определении Linux — это операционная система, наиболее часто встречающаяся на серверах и настольных компьютерах. Хотя операционная система Android основана на Linux, стандартное ядро ​​Linux не используется в полной мере. Android — это не просто версия Linux из-за множества изменений, в нем много собственных компонентов. Во время разработки операционной системы Android в ядро ​​Linux были добавлены несколько функций, в том числе: драйвер сигнализации, отладчик ядра, регистратор, управление питанием, драйвер общей памяти Android и т.д. Эти улучшения были основаны на стандартном ядре Linux.

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

Фото Android 3
Samsung Galaxy Note 20 и Note 20 Ultra

У Android есть свои версии с разными номерами, что подразумевает значительное увеличение функциональности и стабильности, и каждая из них имеет собственное кодовое имя, обычно это название лакомства. Вы, наверное, слышали, как кто-то сказал: Android Marshmallow («Печенье с орехами макадамии»), Nougat («Нью-Йоркский чизкейк»), Oreo («Торт Oreo — сделанный из двух шоколадных вафель с кремовой начинкой между ними»), Pie (» Pie «) или последней версии Android 10. Так что это просто название версии Android, которая может быть у вас на телефоне. Современные смартфоны и планшеты, выпущенные в этом году, в основном работают под управлением Android 9 Pie или Android 10. Однако ожидается, что Android 11 появится в конце этого года.

Производители устройств Android, такие как Samsung, Huawei, HTC, Motorola, Sony, OnePlus и многие другие, обычно используют свою собственную фирменную оболочку в операционной системе. Обложка или наложение пользовательского интерфейса — это, по сути, индивидуальный дизайн, который добавляет к телефону дополнительные функции, различные значки и другие настройки, призванные обеспечить уникальные возможности для производителя телефона по вашему выбору. Самыми популярными проприетарными оболочками являются One UI от Samsung, OxygenOS от OnePlus и EMUI от Huawei. Телефон без серьезных изменений обычно называют «базовым Android» («стандартный Android»), а пользовательские интерфейсы с незначительными изменениями (например, с телефонами Motorola) часто называют «близкими к базовому».

Начало работы с Android

Фото Android 4
Логотип операционной системы Android 11 на смартфоне.

Прежде чем мы начнем, важно отметить, что действия, описанные в этой статье, выполняются на устройстве Android без наложения пользовательского интерфейса. Другими словами, между вашим устройством и тем, что показано ниже, могут быть некоторые различия, но параметры и настройки аналогичны и просты в использовании.

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

Если вы еще не вставили SIM-карту, на следующем экране вас попросят вставить ее. Не волнуйтесь, если у вас его нет, вы можете пропустить этот шаг и продолжить настройку, а затем вставить SIM-карту в свой смартфон позже.

Фото Android 5
Сим-карта.

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

На следующем экране вас спросят, есть ли у вас существующая учетная запись Google (учетная запись Google). Если вы не уверены, помните, что если вы пользуетесь Gmail, ответ — да. Если у вас его нет, рекомендуем вам зарегистрироваться. Наличие учетной записи Google значительно упростит работу с Android. Настройка учетной записи Google на вашем смартфоне или планшете позволит вам легко получить доступ ко всем приложениям Google, включая Gmail, Play Store, Календарь и другие, без необходимости каждый раз входить в систему. Вы можете создать учетную запись Google на своем ПК или прямо со своего телефона.

Фото Android 6
Логотип почтового сервера Gmail.com.

Если у вас есть учетная запись (учетная запись) Google, нажмите «Да», после чего вам будет предложено ввести адрес электронной почты и пароль.

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

Фото Android 7
Фото 7 Карты Google.

Второй и третий варианты зависят от вашего местоположения. Выбор варианта полностью зависит от вас. Службы определения местоположения могут быть важны, поскольку некоторые приложения могут требовать эту информацию для правильной работы, например, Желтые страницы и Карты Google. К этим параметрам можно будет получить доступ из меню настроек позже, если вы передумаете. Наконец, вас спросят, хотите ли вы получать новости и предложения от Google Play по электронной почте. Теперь вы можете добавить имя устройства и настроить его. Если вы добавили учетную запись Google, ваше имя и фамилия уже должны быть сохранены.

Главный экран

Фотографии Android 8
Главный экран. Samsung Galaxy S10.

Выполнив простые шаги по настройке устройства, вы попадете на главный экран. Опять же, фактический внешний вид главного экрана (его значки, элементы дизайна и т.д.) может значительно различаться в зависимости от используемого устройства. Однако большая часть работы с домашним экраном будет иметь одни и те же базовые элементы, включая панель приложений, панель уведомлений и док-станцию ​​с несколькими ключевыми приложениями, такими как номеронабиратель, обмен сообщениями и т.д. Обратите внимание, что некоторые китайские OEM-производители удаляют приложение Bar из Control, однако это просто означает, что все приложения, которые вы установили на телефоне, помещаются на главные экраны, как и на iPhone.

Фото Android 9
Панель уведомлений «Быстрые настройки Star Wars Edition». Samsung Galaxy Note 10 Plus.

В верхней части экрана находится панель уведомлений, которая включает значки для любых ожидающих уведомлений, которые у вас могут быть, таких как пропущенные звонки, сообщения, электронные письма, предупреждения Facebook и даже игровые предупреждения. Вы можете получить доступ к уведомлениям, проведя сверху вниз. Когда Центр уведомлений открыт, вы можете провести вниз по уведомлению или коснуться уведомления, чтобы открыть соответствующее приложение.

С этой панели уведомлений вы также можете получить доступ к некоторым быстрым переключателям для выбора таких настроек, как режим будильника, включение / выключение Wi-Fi / Bluetooth / режима полета и многое другое. Внизу экрана вы увидите вышеупомянутую док-станцию ​​(панель быстрого доступа) с несколькими значками. Эти значки будут доступны на каждом экране. Вы можете выбрать, какие приложения отображать на панели быстрого доступа, и в идеале это должны быть те, которые вы часто используете.

Панель навигации. Samsung Galaxy S8.

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

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

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

Как функционирует система

С самого начала Fuchsia была разработана для взаимодействия с Google Assistant. Все содержимое экрана, все, что вы делаете и можете делать, отображается в помощнике. По крайней мере, так написано в системной документации.

На Android помощник изучает содержимое экрана, если вы удерживаете кнопку «Домой», но Fuchsia предоставляет ему более подробный доступ. Вы можете зайти в браузер и прочитать обзор ресторана, затем открыть календарь, чтобы проверить дату, сказать «Окей, Google, пригласить Марину на ужин», и помощник будет знать, что делать.

Помощник имеет доступ к таким объектам, как контакты, места, объекты, события, концепции, отображаемые на платформе Fuchsia.

Google в каждом кармане

Ни один из макетов пользовательского интерфейса Fuchsia не предлагает меню приложения, сетку значков или что-то подобное. Интерфейс Fuchsia похож на канал Google с панелью поиска. Здесь вы можете увидеть события календаря, письма, мгновенные сообщения и многое другое. Это не сильно отличается от самого Google Feed, с той разницей, что в этом случае вы видите не результат одного из приложений, а своего рода визуальное представление того, как работает операционная система.

Главный экран цвета фуксии. Фото: 9To5Google
Главный экран цвета фуксии. Фото: 9To5Google

Основные компоненты Fuchsia — это не файлы и приложения, как в классических операционных системах, а сущности и агенты. Сущности в Fuchsia могут быть любыми: местом, человеком, событием, вещью, адресом электронной почты и т.д. Это информация, которая позволяет операционной системе «понять», с чем имеет дело пользователь.

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

Благодаря такому простому агенту операционная система всегда знает, с какими адресами электронной почты и в каких ситуациях сталкивался пользователь, и в будущем может предоставлять предложения на основе этой информации. Но есть более интересные примеры. Представьте, что друг отправляет вам ссылку на видео на YouTube. Вы открываете его в проигрывателе, и пока вы смотрите видео, агент YouTube, как бы странно это ни казалось, собирает различные метаданные об этом видео, создает из них объект и передает его Максвеллу. А он, в свою очередь, отдает его на ленту, отображаемую на рабочем столе. И вот, однажды послушав трек Хаски, вы уже видите на рабочем столе и в плеере предложение скачать и посмотреть его новый альбом.

Навигатор цвета фуксии. Фото: 9To5Google
Навигатор цвета фуксии. Фото: 9To5Google

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

Представьте: вы открываете браузер, заходите на сайт одного из ресторанов, затем добавляете мероприятие в свой календарь и говорите: «Окей, Google, пригласите Ирину на ужин». И Google Assistant понимает, что это такое. Найдите календарное событие в списке сущностей, выполните поиск по сущностям, которые ему предшествовали, свяжите все вместе и отправьте Ирине сообщение с приглашением в этот ресторан в такое-то и такое-то время.

Истории из будущего

Armadillo — это имя, или, скорее, это было имя графического интерфейса Fuchsia до того, как разработчики вырезали его из источника всего несколько дней назад. Armadillo — это что-то вроде самой ленты Google и недавней панели задач (или, скорее, панели «рассказов»), разделенных строкой информации (своего рода строкой состояния, расположенной в центре экрана).

Две важные вещи, которые нужно знать об Армадилло:

  • рабочий стол зависит от контекста;
  • пользователь имеет дело не с приложениями и их окнами, а с историями.

Мы уже обсуждали контекстно-зависимую природу фуксии. Это та самая лента в стиле Google Feed, которая формируется работой агентов Максвелла, анализирующих все и каждого на своем пути.

С историями дела обстоят немного интереснее. Дело в том, что в Armadillo нет так называемого режима произвольного расположения окон, который нам знаком по Windows, OS X или Linux. Интерфейс адаптирован для множества различных устройств с разными размерами экрана, поэтому управление окнами здесь организовано совершенно по-другому, больше похоже на оконные менеджеры фреймов. Вы можете открыть приложение (а точнее, модуль) в полноэкранном режиме, вы можете добавить другой модуль, разделив экран, или, наоборот, расположить модули друг над другом, как вкладки в браузере.

История двух приложений. Фото: 9To5Google
История двух приложений. Фото: 9To5Google

Каждый модуль в Fuchsia поставляется с информацией о том, какую функцию он выполняет и, следовательно, с какими типами объектов он может быть связан. Операционная система активно использует эту информацию, чтобы избавить пользователя от необходимости управлять приложениями.

Предположим, друг поделился с вами электронной книгой (или, скорее, субъектом, который сообщает, что это за электронная книга). Fuchsia автоматически находит эту книгу в Интернете, загружает форму просмотра / покупки и показывает ее пользователю. В этом случае сам модуль может быть максимально простым, а полное приложение может быть загружено по мере необходимости.

Из каких компонентов состоит Fuchsia?

Сердце системы — это микроядро Zircon, а не Linux. Микроядро основано на проекте LK, расширяя его за счет поддержки общих процессов и библиотек, пользовательского уровня, управления объектами и модели безопасности на основе емкости.

Разработчики реализовали драйверы как динамические библиотеки пользовательского пространства. Они загружаются с помощью процесса devhost и контролируются диспетчером устройств (devmg, Device Manager). Пользовательская оболочка ОС Armadillo написана на Dart с использованием фреймворка Flutter.

Кроме того, команда проекта разрабатывает:

  • стандартная библиотека libc;
  • композитный режиссер;
  • менеджер разделов FVM.
  • Вулкан Магма Драйвер;
  • фреймворк для создания пользовательских интерфейсов Peridot;
  • система рендеринга Эшера;
  • файловые системы MinFS, MemFS, ThinFS (FAT на языке Go) и Blobfs;
  • менеджер пакетов Fargo;

Для разработки приложений предусмотрена поддержка C / C ++, Dart, Rust также разрешены в компонентах системы, Go разрешен в сетевом стеке, а Python используется в системе языковой сборки.

В процессе загрузки используется системный менеджер, который активирует appmgr для создания исходной программной среды. Кроме того, sysmgr используется для формирования среды загрузки, а basemgr используется для настройки среды пользователя и организации его входа в систему.

Разработчики позаботились о безопасности, для чего используется «песочница». В нем новые процессы не могут получить доступ к объектам ядра, не могут выделять память или выполнять код. Для доступа к ресурсам используется система пространства имен, которая определяет доступные разрешения.

В чём преимущество Fuchsia для разработчиков

При разработке операционной системы Google учитывала потребности сторонних разработчиков. Большинство элементов пользовательского интерфейса написано с использованием фреймворка Flutter на языке Dart, который, вероятно, покажется знакомым программистам, работающим с JavaScript и Java. Также поддерживается язык программирования Google Go.Разработчики системы смогут использовать язык Rust; Поддержка языка Swift предоставляется разработчикам для системы Apple iOS.

Многие из этих языков взаимозаменяемы. Используя протокол FIDL, интерфейс Dart может взаимодействовать с кодом, написанным на языке Go. Возможны и другие комбинации. Благодаря этому у разработчиков есть возможность расширить свой инструментарий и выбрать язык, который они знают лучше всего и который подходит для решения конкретной задачи.

Поистине облачная ОС

Как и любая современная операционная система, Fuchsia полагается в своей работе на облако, но, опять же, она выходит далеко за рамки других операционных систем. Сегодня под облаками для мобильной операционной системы понимается что-то вроде хранилища файлов, контактов, сообщений и прочей ерунды, которое ФБР покупает за миллион долларов, чтобы больше узнать о владельце.

Быстрые настройки. Фото: 9To5Google
Быстрые настройки. Фото: 9To5Google

В Fuchsia облако станет больше, чем просто местом для резервного копирования данных, оно станет связующим звеном для всего. Представьте, что вы сидите с ноутбуком, печатаете на клавиатуре и общаетесь с кем-то в Telegram под звуки synthwave. Внезапно звонит босс, вы встаете с места с телефоном, затем разблокируете его и видите тот же рабочий процесс: редактор, Telegram и музыкальный проигрыватель.

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

Такая же панель настроек в телефонной версии. Фото: Ars Technica
Такая же панель настроек в телефонной версии. Фото: Ars Technica

Все, что касается облаков в «Fuchsia», обрабатывается Ledger — распределенным хранилищем, которое действует как «вторая память» устройства. Там продублировано все: данные приложений, сами приложения (а точнее, компоненты), документы, настройки, истории, ваши фото с солнышком в руке. Это не аналог Google Drive или iCloud, это аналог второго жесткого диска в массиве raid. Кроме того, в этом нет необходимости вообще.

Ledger — это модульная система. По умолчанию он основан на NAS от Google Firestore, но производители смартфонов смогут преобразовать его в собственное облачное хранилище. Не исключен вариант и Ledger, который использует домашний сервер в качестве хранилища.

Архитектура реестра
Архитектура реестра

Когда Fuchsia можно будет потрогать?

Скоро это смогут сделать участники программы предварительного просмотра, у которых явно есть Nest Hub. Затем, в течение нескольких месяцев, платформа будет развернута на других устройствах. На функциональность систем это не повлияет — скорее всего, не особо близкие к IT владельцы устройств разницы не заметят. Те же функции, тот же интерфейс, та же графика, включая забавные фоны.

Как бы то ни было, Google наконец-то представил свою долгосрочную сборку. Операционная система вполне подходит для обычных пользователей — для взаимодействия с ней не требуется никаких специальных знаний. Можно предположить, что сейчас компания тестирует свою операционную систему в полевых условиях, вроде бы это не бета-тест, и даже не масштабное распространение системы. Будем надеяться, что компания может рассмотреть возможность установки Fuchsia на другие свои устройства, которые до сих пор работали на Cast OS.

«Это не только телефоны и компьютеры. В мире Интернета вещей количество устройств, требующих новых операционных систем и платформ, постепенно увеличивается. Я думаю, что теперь можно использовать разные операционные системы с разными достоинствами и специализацией. Фуксия — одна из таких вещей, так что следите за обновлениями », — сказал Хироши Локхаймер, менеджер Google по Android и Chrome OS.

Есть ли архитектурные отличия от Android и Chrome OS

Android и Chrome OS основаны на Linux, которому почти три десятилетия. Проблема с Android заключается в том, что до проекта Treble обновления ядра Linux зависели от производителей устройств, и очень немногие хотели этого. Даже через несколько месяцев после выпуска Treble некоторые производители не хотят добавлять его код на свои устройства. По этой причине Android остается потенциально уязвимым для новых эксплойтов, закрывающие патчи которых уже были выпущены, но не успели добраться до многих устройств.

Fuchsia преодолевает этот пробел с помощью специального ядра Zircon, которое было создано с учетом возможности обновления. Приложения Fuchsia изолированы и не имеют прямого доступа к сердцевине Zircon. Это создает дополнительный уровень безопасности, который предотвращает несовместимость приложений с устройством после обновления операционной системы, от которой страдает Android.

Один за всех

Fuchsia — это операционная система для всех типов устройств одновременно. Он может работать на смартфонах, планшетах, компьютерах, системах умного дома и даже микроконтроллерах (если убрать все лишнее и оставить только ядро ​​LK). Его интерфейс может растягивать, сжимать и произвольно изменять геометрию. Armadillo позволяет делать это «на лету» в целях отладки.

Google заявляет, что Fuchsia будет работать на таких устройствах, как Google Home, в ближайшие три года и заменит Android в течение пяти лет. Это могут быть чрезмерно амбициозные планы, но, по словам журналиста Ars Technica, который год назад делал обзор Fuchsia, в его Pixel-book уже были сеть, сенсорный экран, трекпад, клавиатура, порты USB и сама операционная система, хотя это выглядело как макет, но он уже был работоспособен.

Совсем недавно также сообщалось, что Fuchsia будет полностью поддерживать приложения Android. И они будут работать не в эмуляторе, как это происходит в Chrome OS, а в полной среде исполнения Android, встроенной в Fuchsia».

Кстати, о приложениях. По умолчанию Fuchsia использует фреймворк Flutter для написания графических приложений, который отличается тем, что позволяет создавать приложения уже сейчас, но с использованием Android и iOS в качестве целевых платформ. Flutter полюбил программистов за его простоту и эффективность, и они уже создали на нем программное обеспечение, а это означает, что после выпуска Fuchsia у него будет набор из миллионов приложений для Android и сотни тысяч собственных приложений, написанных на Flutter.

Приложения Flutter можно писать в Android Studio
Приложения Flutter можно писать в Android Studio

На каких устройствах будет работать

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

Основная проблема при таком подходе — поддержание прогресса в работе. На помощь пользователю приходит программное обеспечение Ledger. Благодаря Ledger приложения автоматически сохраняют свой статус на всех устройствах, как только пользователь входит в учетную запись. Google описывает Ledger как распределенное хранилище для Fuchsia. Конечно, все данные хранятся в «облаке».

Идея проста: закройте Chrome на смартфоне и откройте на ноутбуке — вкладки будут такими же. Если вы забыли сохранить документ перед выходом из компьютера, откройте «Документы» на смартфоне и сохраните. У вас разрядился аккумулятор, когда вы работали над проектом? Войдите в систему со своего компьютера и продолжите.

Поскольку Fuchsia одинакова как на компьютерах, так и на смартфонах, вам совсем не обязательно иметь оба устройства. Можно поставить смартфон в док-станцию, например, в Samsung DeX, и работать на большом экране с аналогом рабочего стола.

Богатство выбора

Google, занимающий доминирующее положение на мобильном рынке, не будет запрещать установку приложений из других источников. Это означает, что вы можете установить на свой смартфон или планшет практически любую программу, совместимую с операционной системой.
Идеальная операционная система - GOOGLE ANDROID
Несколько компаний воспользовались возможностью, чтобы создать свои собственные онлайн-магазины приложений для операционной системы Android. Яркий пример такой компании — Яндекс с собственным магазином Android-приложений — Яндекс.Магазин

Модульная и масштабируемая

От самых основных слоев до элементов, видимых пользователю, компоненты Fuchsia изолированы и логически отделены друг от друга в максимально возможной степени. Fuchsia основана на микроядре Zircon, которое само по себе является дополнением к минималистичному ядру LK.

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

Циркон — это первый слой торта под названием Фуксия. Выше находится гранат, промежуточный слой, обеспечивающий возможность запуска приложений. Сюда входят драйверы, библиотеки, средство визуализации графики Escher, система обновлений Amber (на основе Updater Framework), диспетчер пакетов и гостевая система виртуализации, которая позволяет, например, запускать среду Linux в Fuchsia.

На следующем уровне, Peridot, работают компоненты. В Fuchsia компонент — это что-то вроде фрагмента исполняемого кода, будь то агенты, которые мы уже знаем, или видимые пользователем приложения (здесь они называются модулями). Компоненты сильно отличаются от исполняемых файлов других операционных систем: они всегда изолированы в собственной песочнице и могут связываться с внешним миром исключительно через специальный механизм IPC, основанный на языке FIDL.

Благодаря единой системе IPC не имеет значения, на каком языке написаны отдельные компоненты. Fuchsia поддерживает Dart, Go, Rust, Swift, Java и JavaScript; все эти языки могут общаться через единый интерфейс. Философия Fuchsia заключается в том, чтобы компоненты были как можно более компактными. Например, проигрыватель может состоять из множества компонентов, написанных на разных языках и функционирующих как единое целое.

Все компоненты упакованы в пакеты, которые можно синхронизировать или загружать по запросу с помощью Ledger. Пакет в Fuchsia может быть не просто компонентом или набором компонентов, но и чем угодно в целом. Как и современные дистрибутивы Linux, Fuchsia состоит из пакетов, от загрузчика до файла конфигурации видеодрайвера.

Модульный дизайн позволит Google избежать ада, в который он попал с Android. Теперь производителю не нужно будет обновлять всю операционную систему, чтобы исправить ошибку в медиа-декодере или обновить драйвер.

Оцените статью