
Наблюдая за развитием ОС Fuchsia от Google, стало ясно, что она сможет запускать приложения как для Linux, так и для Android. Chrome OS также может делать и то, и другое, и это не случайность, поскольку команда Fuchsia решила использовать некоторые разработки Chrome OS в своих интересах.
Fuchsia и Crostini
Первое, что Google хочет сообщить всем о своей разрабатываемой операционной системе, это то, что «Fuchsia — это не Linux.» Учитывая это, несколько удивительно, что Fuchsia планируется для запуска приложений для Linux и Android, которая основана на Linux.
Есть несколько способов добиться этого. Мы видели, что команда Fuchsia работала над внедрением Android Runtime в Fuchsia, возможно, заставив его работать напрямую с ядром Zircon, а не с ядром Linux. Проект Fuchsia Machina идет в другом направлении для поддержки Linux, запуская полноценную ОС Linux в виртуальной машине.
С момента нашего последнего обзора возможности Fuchsia запускать Linux, дизайн претерпел некоторые изменения, чтобы более тесно отразить то, как Chrome OS поддерживает приложения для Linux через Crostini. Как объясняется в документации Chrome OS, Crostini загружает легковесную виртуальную машину Linux под названием «Termina», которая используется для управления, запуска и остановки контейнеров, которые фактически запускают ваши приложения.
Termina — это образ виртуальной машины с урезанным ядром Linux Chrome OS и инструментами пользовательского пространства. Его единственная цель — как можно быстрее загрузиться и начать запускать контейнеры. Многие программы/инструменты здесь пользовательские. Оглядываясь назад, мы, возможно, не должны были называть его так, чтобы отличаться от «Terminal» всего на одну букву, но что есть, то есть.
В «Guest» приложении Fuchsia (отвечающем за управление виртуальными машинами) появилась новая система под названием «Biscotti» или «linux_runner». Документация очень ясно дает понять, что Biscotti заимствует Termina из Chrome OS, а затем Biscotti может использоваться для запуска полноценного дистрибутива Linux, такого как Debian, почти точно так же, как Crostini в Chrome OS.
Fuchsia и ARCVM
Итак, как все это применимо к стороне Android?
Недавно нам сообщил источник, знакомый как с Fuchsia, так и с Chrome OS, что поддержка приложений для Android в Fuchsia в настоящее время основана на поддержке приложений для Android в Chrome OS. На первый взгляд, это не имеет смысла, поскольку Chrome OS в настоящее время запускает приложения для Android на собственном ядре Linux, «под капотом».
Однако, как мы узнали на прошлой неделе, Google усердно работает над новым способом запуска приложений для Android в Chrome OS. Этот новый метод, называемый «ARCVM», запускает приложения для Android через виртуальную машину, точно так же, как приложения для Linux обрабатываются в Chrome OS.
Этот же ARCVM, вероятно, используется в Fuchsia для «android_runner», (на что обратил внимание btlms на сабреддите Fuchsia). К сожалению, android_runner еще не был сделан открытым исходным кодом, поэтому мы не можем сказать много наверняка.
Используя ARCVM и, следовательно, запуская Android Runtime на Linux, как обычно, Google больше не потребуется пытаться портировать полный Android Runtime на Fuchsia/Zircon. Опора на усилия команды Chrome также означает, что поддержка Android в Fuchsia будет тщательно протестирована Chrome OS заранее.
Производительность
Единственный оставшийся вопрос — производительность. До сих пор мы все думали о Fuchsia как об операционной системе, которую можно использовать на традиционных компьютерах, смартфонах, планшетах и IoT-устройствах, хотя Хироши Локхаймер из Google предположил, что Fuchsia не обязательно предназначена для телефонов.
Тем не менее, запуск виртуальной машины Linux или Android на смартфоне кажется излишним даже при нынешнем оборудовании. Чтобы лучше понять, насколько хорошо Fuchsia сможет работать с приложениями для Android и Linux, нам придется следить за Crostini и ARCVM в Chrome OS по мере их развития.
Еще одним актуальным проектом для наблюдения является Samsung Linux on DeX, который позволяет запускать полноценный дистрибутив Ubuntu Linux на таких устройствах, как Samsung Galaxy S10. Хотя это напрямую не связано с Fuchsia, это показывает, что смартфоны вполне способны запускать «настольные» приложения.