Google розвиває нову систему ARCVM для запуску Android-додатків у Chrome OS
В рамках проекту ARCVM (ARC Virtual Machine) компанія Google розвиває для Chrome OS новий варіант прошарку для запуску Android-програм. Ключовою відмінністю від пропонованого нині прошарку ARC++ (Android Runtime for Chrome) є використання повноцінної віртуальної машини замість контейнера. Закладені в ARCVM технології вже використовуються в підсистемі Кростіні для запуску Linux-програм у Chrome OS.
Замість контейнера, що ізолюється за допомогою просторів імен, seccomp, alt syscall, SELinux та cgroups, для виконання Android-оточення в ARCVM застосовується монітор віртуальних машин CrosVM на базі гіпервізора KVM та модифікований на рівні налаштувань системний образ Закінчується, Що включає урізане ядро та мінімальне системне оточення. Введення та виведення на екран організовано через запуск усередині віртуальної машини проміжного композитного сервера, що прокидає висновок, події введення та операції з буфером обміну між віртуальним та основним оточенням (В ARC++ застосовувалося пряме звернення до шару DRM через Render Node.
Найближчим часом Google не планує замінювати поточну підсистему ARC++ на ARCVM, але в довгостроковій перспективі ARCVM представляє інтерес з точки зору уніфікації з підсистемою для запуску Linux-додатків та забезпечення суворішої ізоляції Android-оточення (у контейнері використовується спільне з основною системою ядро і залишається прямий доступ до системних викликів і інтерфейсів ядра, вразливість у яких може використовуватися для компрометації із контейнера всієї системи).
Застосування ARCVM також дозволить користувачам встановити довільні Android-додатки, не обмежуючись прив'язкою до каталогу Google Play і не вимагаючи переведення пристрою в режим для розробника (в штатному режимі дозволено встановлення лише вибіркових програм з Google Play). Подібна можливість необхідна для розробки Android-додатків в Chrome OS. В даний час вже є можливість встановити в Chrome OS середовище Android Studio, але для того щоб тестувати програми, що розробляються, потрібно включення режиму для розробника (Developer Mode).