Google партуе Chrome для АС Fuchsia

Кампанія Google вядзе працу па падаванні поўных зборак браўзэра Chrome для АС Fuchsia. У Fuchsia ужо падаецца браузерны рухавічок на аснове кодавай базы Chromium для выканання адасоблены web-прыкладанняў, але браўзэр як асобны паўнавартасны прадукт для Fuchsia быў недаступны, а сама платформа ў першую чаргу развівалася для IoT і спажывецкіх прылад, такіх як Nest Hub. Апошнім часам сітуацыя змянілася і пачалося развіццё магчымасцяў Fuchsia, накіраваных на выкарыстанне як дэсктоп-платформы.

У тым ліку развіваецца набор змен, якія робяць магчымым пастаўку паўнавартаснага Chrome у Fuchsia. Пачатковую зборку Chrome для Fuchsia плануюць давесці да гатоўнасці да выпуску Chrome 94, намечанаму на 21 верасня. Праца па партаванні вядзецца паступова – спачатку забяспечваецца магчымасць зборкі зрэзанай версіі, у якой некаторыя магчымасці заменены на заглушкі, якія па меры партавання замяняюцца на працоўныя рэалізацыі кода, які ўлічвае спецыфіку Fuchsia. Напрыклад, вядзецца адаптацыя для Fuchsia сістэмнага латка, загрузкі файлаў, функцыі Click To Call, працы з вымаемымі носьбітамі, сінхранізацыі, карыстацкіх каталогаў, PWA-прыкладанняў, вываду інфармацыі аб памяці і нагрузцы на CPU і імпарту налад з іншых браўзэраў.

Нагадаем, што АС Fuchsia развіваецца кампаній Google з 2016 года з улікам недахопам у галіне маштабавання і забеспячэння бяспекі, якія ёсць у платформе Android. Сістэма грунтуецца на мікраядры Zircon, заснаваным на напрацоўках праекту LK, пашыранага для ўжывання на розных класах прылад, уключаючы смартфоны і персанальныя кампутары. Zircon пашырае LK падтрымкай працэсаў і падзяляных бібліятэк, узроўнем карыстальніка, сістэмай апрацоўкі аб'ектаў і мадэллю забеспячэння бяспекі на аснове capability. Драйверы рэалізуюцца ў выглядзе якія працуюць у прасторы карыстача дынамічных бібліятэк, загружаных працэсам devhost і кіраваных мэнэджарам прылад (devmg, Device Manager).

Для Fuchsia падрыхтаваны ўласны графічны інтэрфейс, напісаны на мове Dart з выкарыстаннем фрэймворка Flutter. Праектам таксама развіваюцца фрэймворк для пабудовы інтэрфейсаў карыстальніка Peridot, пакетны менеджэр Fargo, стандартная бібліятэка libc, сістэма рэндэрынгу Escher, Vulkan-драйвер Magma, кампазітны менеджэр Scenic, файлавыя сістэмы MinFS, MemFS, ThinFS (FAT на мове Go) і Blobfs, а таксама менеджэр раздзелаў FVM. Для распрацоўкі прыкладанняў падаецца падтрымка моў C/C++, Dart, у сістэмных кампанентах таксама дапушчаецца выкарыстанне Rust, у сеткавым стэку Go, а ў сістэме зборкі мовы Python.

Google партуе Chrome для АС Fuchsia

Падчас загрузкі выкарыстоўваецца сістэмны мэнэджар, улучальны appmgr для стварэння пачатковага праграмнага асяроддзя, sysmgr для фармавання загрузнага асяроддзя і basemgr для налады карыстацкага асяроддзя і арганізацыі ўваходу ў сістэму. Для забеспячэння бяспекі прапануецца прасунутая сістэма sandbox-ізаляцыі, у якой новыя працэсы не маюць доступу да аб'ектаў ядра, не могуць вылучаць памяць і не могуць запускаць код, а для доступу да рэсурсаў прымяняецца сістэма прастор імёнаў, якая вызначае даступныя паўнамоцтвы. Платформа дае фрэймворк для стварэння кампанентаў, якія ўяўляюць сабой праграмы, якія запускаюцца ў сваім sandbox, якія могуць узаемадзейнічаць з іншымі кампанентамі праз IPC.

Крыніца: opennet.ru

Дадаць каментар