V hraniciach projektu (Virtuálny stroj ARC) Google для Chrome OS новый вариант прослойки для запуска Android-aplikácie. Kľúčový rozdiel oproti aktuálne navrhovanej vrstve ARC++ (Android Runtime for Chrome) является использование полноценной виртуальной машины вместо контейнера. Заложенные в ARCVM технологии уже применяются в подсистеме na začiatok Linux-aplikácie v systéme Chrome OS.
Вместо контейнера, изолируемого при помощи пространств имён, seccomp, alt syscall, SELinux и cgroups, для выполнения Android-окружения в ARCVM применяется монитор виртуальных машин založené na KVM hypervízore a na úrovni nastavení, obraz systému vrátane okliešteného jadra a minimálneho systémového prostredia. Vstup a výstup na obrazovku je organizovaný prostredníctvom spustenia prechodného kompozitného servera vo virtuálnom stroji, ktorý preposiela výstup, vstupné udalosti a operácie so schránkou medzi virtuálnym a hlavným prostredím (V ARC++ priamy prístup k vrstve DRM cez Render Node).
Už čoskoro Google заменять текущую подсистему ARC++ на ARCVM, но в долгосрочной перспективе ARCVM представляет интерес с точки зрения унификации с подсистемой для запуска Linux-приложений и обеспечения более строгой изоляции Android-окружения (в контейнере используется общее с основной системой ядро и остаётся прямой доступ к системным вызовам и интерфейсам ядра, уязвимость в которых может использоваться для компрометации из контейнера всей системы).
Применение ARCVM также даст возможность разрешить пользователям установку произвольных Android-приложений, не ограничиваясь привязкой к каталогу Google Play и не требуя перевода устройства в режим для разработчика (в штатном режиме установка только выборочных приложений из Google Play). Подобная возможность необходима для организации разработки Android-приложений в Chrome OS. В настоящее время уже имеется возможность установить в Chrome OS среду Android Studio, но для того чтобы тестировать разрабатываемые приложения требуется включение режима для разработчика (Developer Mode).
Zdroj: opennet.ru
