Google heeft een nieuwe versie van het besturingssysteem Fuchsia 14 uitgebracht, waarop voorlopige firmware-updates voor de Google Nest Hub en Nest Hub Max zijn gebaseerd. Het besturingssysteem Fuchsia wordt sinds 2016 door Google ontwikkeld, rekening houdend met tekortkomingen op het gebied van schaalbaarheid en veiligheid in het Android-platform.
Belangrijkste wijzigingen in Fuchsia 14:
- De functionaliteit van de Starnix-laag is uitgebreid, waardoor ongewijzigde Linux-programma's kunnen draaien door de systeeminterfaces van de Linux-kernel om te zetten naar oproepen naar de bijbehorende subsysteems van Fuchsia. Deze nieuwe versie voegt ondersteuning toe voor het mounten van externe bestandssystemen, xattrs zijn toegevoegd voor symbolische links in fxfs, er zijn tracepoints geĆÆmplementeerd in de systeemaanroep mmap(), het proces stat in /proc/pid/stat bevat uitgebreidere informatie, ondersteuning voor fuchsia_sync::Mutex is ingeschakeld, er is ondersteuning voor O_TMPFILE, pidfd_getfd, sys_reboot(), timer_create, timer_delete, times() en ptrace(), en in de ext4-implementatie is gebruik gemaakt van een systeemcache voor bestanden.
- De Bluetooth-stack is verbeterd. Ondersteuning voor geluid in het Bluetooth-profiel HSP (HandSet Profile) is toegevoegd en de vertragingen bij het streamen van geluid via het A2DP-profiel zijn verminderd.
- In Matter, de implementatie van de standaard voor de verbinding van apparaten in slimme huizen, is ondersteuning voor groepsupdates toegevoegd en is de mogelijkheid om overgangstoestanden te verwerken bij het beheren van de verlichting verbeterd.
- In de netwerkstack voor alle platforms is ondersteuning voor FastUDP-sockets toegevoegd.
- Ondersteuning voor multi-core systemen (SMP) op basis van de RISC-V-architectuur is toegevoegd.
- Er is een API toegevoegd voor interactie met de taakplanner.
- Ondersteuning voor DeviceTree is toegevoegd.
- De driver voor geluidsapparaten met USB-interface is overgezet naar het DFv2-framework.
Fuchsia is gebaseerd op de microkernel Zircon, die voortkomt uit het LK-project en is uitgebreid voor gebruik op verschillende apparaatklassen, waaronder smartphones en personal computers. Zircon breidt LK uit met ondersteuning voor processen en gedeelde bibliotheken, een gebruikersniveau, een objectbeheersysteem en een beveiligingsmodel op basis van capabilities. Stuurprogramma's worden geĆÆmplementeerd als dynamische bibliotheken die draaien in de gebruikersruimte, geladen door het devhost-proces en beheerd door de apparaatsmanager (devmg, Device Manager).
Voor Fuchsia is een eigen grafische interface ontwikkeld, geschreven in Dart met het Flutter-framework. Het project ontwikkelt ook het framework voor gebruikersinterface Peridot, de pakketbeheerder Fargo, de standaardbibliotheek libc, het renderingssysteem Escher, de Vulkan-driver Magma, de compositormanagement Scenic, de bestandssystemen MinFS, MemFS, ThinFS (FAT in Go) en Blobfs, evenals de partitiebeheerder FVM. Voor applicatieontwikkeling wordt ondersteuning geboden voor de talen C/C++, Dart, en in systeemcomponenten is ook gebruik van Rust toegestaan, in de netwerkstack Go, en in het buildsysteem Python.
Tijdens het opstartproces wordt een systeemmanager gebruikt, die appmgr omvat voor het aanmaken van de initiƫle software-omgeving, sysmgr voor het vormen van de opstartomgeving en basemgr voor het configureren van de gebruikersomgeving en het organiseren van de inlogprocedure. Voor beveiliging wordt een geavanceerd sandbox-isolatiesysteem aangeboden, waarin nieuwe processen geen toegang hebben tot kernelobjecten, geen geheugen kunnen toewijzen en geen code kunnen uitvoeren. Voor toegang tot bronnen wordt een naamruimtesysteem toegepast, dat de beschikbare bevoegdheden bepaalt. Het platform biedt een framework voor het creƫren van componenten die programma's zijn die in hun eigen sandbox draaien en met andere componenten kunnen communiceren via IPC.
Bron: opennet.ru
