Compania Google lucrează pentru a oferi versiuni complete ale browserului Chrome pentru OS Fuchsia. În Fuchsia este deja disponibil un motor de browser bazat pe codul sursă Chromium, folosit pentru a rula aplicații web izolate, dar browserul ca un produs complet pentru Fuchsia a fost indisponibil, iar platforma s-a dezvoltat în principal pentru IoT și dispozitive de consum, cum ar fi Nest Hub. Situația s-a schimbat recent și au început să se dezvolte capacitățile Fuchsia, vizând utilizarea ca platformă desktop.
În plus, se dezvoltă un set de modificări care fac posibilă livrarea unei versiuni complete de Chrome în Fuchsia. Versiunea inițială a Chrome pentru Fuchsia este planificată să fie pregătită pentru lansare la Chrome 94, programată pentru 21 septembrie. Procesul de portare se desfășoară treptat - mai întâi se asigură posibilitatea de a construi o versiune redusă, în care unele funcții sunt înlocuite cu stuburi, care, pe măsură ce portarea avansează, sunt înlocuite cu implementări funcționale ale codului, ținând cont de specificul Fuchsia. De exemplu, se face adaptarea pentru Fuchsia a tavii de sistem, încărcarea fișierelor, funcția Click To Call, lucrul cu suporturi externe, sincronizarea, directoarele utilizatorului, aplicațiile PWA, afișarea informațiilor despre memorie și sarcina CPU și importul setărilor din alte browsere.
Amintim că OS Fuchsia este dezvoltat de Google din 2016 având în vedere deficiențele de scalabilitate și securitate existente în platforma Android. Sistemul se bazează pe micro-nucleul Zircon, derivat din realizările proiectului LK, extins pentru a fi utilizat pe diverse clase de dispozitive, inclusiv smartphone-uri și computere personale. Zircon extinde LK cu suport pentru procese și biblioteci partajate, nivelul utilizatorului, sistemul de gestionare a obiectelor și un model de securitate bazat pe capabilități. Driverele sunt implementate sub formă de biblioteci dinamice care rulează în spațiul utilizatorului, încărcate de procesul devhost și gestionate de managerul de dispozitive (devmg, Device Manager).
Pentru Fuchsia, o interfață grafică proprie, scrisă în Dart folosind cadrul Flutter, a fost pregătită. Proiectul dezvoltă de asemenea cadrul pentru construirea interfețelor utilizatorului Peridot, managerul de pachete Fargo, biblioteca standard libc, sistemul de redare Escher, driverul Vulkan Magma, managerul de compunere Scenic, sistemele de fișiere MinFS, MemFS, ThinFS (FAT în Go) și Blobfs, precum și managerul de partiții FVM. Pentru dezvoltarea aplicațiilor, suport pentru limbajele C/C++, Dart este oferit, iar în componentele de sistem se poate utiliza și Rust, în stiva de rețea Go și în sistemul de construție limbajul Python.

În procesul de încărcare, se utilizează un manager de sistem care include appmgr pentru a crea un mediu inițial de programare, sysmgr pentru a forma un mediu de încărcare și basemgr pentru configurarea unui mediu utilizator și organizarea autentificării. Pentru a asigura securitatea, se propune un sistem avansat de izolare sandbox, în care noile procese nu au acces la obiectele nucleului, nu pot aloca memorie și nu pot rula cod, iar accesul la resurse se realizează printr-un sistem de namespace-uri, definind permisiunile disponibile. Platforma oferă un cadru pentru crearea de componente care reprezintă programe ce rulează în sandbox-ul propriu, care pot interacționa cu alte componente prin IPC.
Sursa: opennet.ro
