Společnost Google vydala verzi operačního systému Fuchsia 14, na jejíž základě byly vytvořeny předběžné aktualizace firmwaru pro fotografické rámečky Google Nest Hub a Nest Hub Max. OS Fuchsia se vyvíjí firmou Google od roku 2016, a to s ohledem na nedostatky v oblasti škálovatelnosti a zabezpečení, které se vyskytují na platformě Android.
Hlavní změny ve Fuchsia 14:
- Byly rozšířeny možnosti vrstvy Starnix, která umožňuje spouštění nemodifikovaných Linuxových programů pomocí překladu systémových rozhraní jádra Linuxu na odpovídající subsystémy Fuchsia. V nové verzi byla přidána podpora připojení vzdálených souborových systémů, do fxfs byly přidány xattrs pro symbolické odkazy, do systémového volání mmap() byly přidány body sledování, rozšířeny informace v /proc/pid/stat, byla zavedena podpora fuchsia_sync::Mutex, implementována podpora O_TMPFILE, pidfd_getfd, sys_reboot(), timer_create, timer_delete, times() a ptrace(), a v implementaci ext4 byl využit systémový souborový cache.
- Byl vylepšen Bluetooth stack. Přidána podpora zvuku v Bluetooth profilu HSP (HandSet Profile) a zkráceny latence při přenosu zvuku přes profil A2DP.
- Do Matter, implementace standardu pro připojení zařízení v chytré domácnosti, byla přidána podpora skupin aktualizací a možnost zpracování přechodných stavů při řízení osvětlení.
- Do síťového stacku pro všechny platformy byla přidána podpora socketů FastUDP.
- Byla přidána podpora vícejádrových systémů (SMP) založených na architektuře RISC-V.
- Bylo přidáno API pro interakci s plánovačem úloh.
- Byla přidána podpora DeviceTree.
- Ovladač pro zvuková zařízení s USB rozhraním byl převeden na použití rámce DFv2.
Fuchsia je založena na mikrokernech Zircon, postaveném na základech projektu LK, rozšířeném pro použití na různých typech zařízení, včetně chytrých telefonů a osobních počítačů. Zircon rozšiřuje LK o podporu procesů a sdílených knihoven, uživatelskou úroveň, systém zpracování objektů a model zabezpečení založený na schopnostech. Ovladače jsou realizovány jako běžící v uživatelském prostoru dynamické knihovny, které jsou načítány procesem devhost a spravovány správcem zařízení (devmg, Device Manager).
Pro Fuchsia byl připraven vlastní grafický uživatelský rozhraní napsané jazykem Dart s využitím frameworku Flutter. Projekt také vyvíjí framework pro vytváření uživatelských rozhraní Peridot, správce balíčků Fargo, standardní knihovnu libc, rendering systém Escher, Vulkan ovladač Magma, kompozitní manažer Scenic, souborové systémy MinFS, MemFS, ThinFS (FAT napsané v Go) a Blobfs, stejně jako správce oddílů FVM. Pro vývoj aplikací je zajištěna podpora jazyků C/C++, Dart, v systémových komponentách je také povoleno použití Rust, v síťovém stacku Go, a v systému pro sestavení jazyk Python.
Během zavádění se používá systémový správce, který zahrnuje appmgr pro vytvoření počátečního programového prostředí, sysmgr pro formování zaváděcího prostředí a basemgr pro nastavení uživatelského prostředí a organizaci přihlášení do systému. Pro zabezpečení je nabízena pokročilá systémová sandboxová izolace, ve které nové procesy nemají přístup k objektům jádra, nemohou alokovat paměť a nemohou spouštět kód, a pro přístup k zdrojům se používá systém prostorů názvů, který určuje dostupné pravomoci. Platforma poskytuje framework pro vytváření komponentů, které jsou programy běžícími ve svém sandboxu a které mohou interagovat s jinými komponenty prostřednictvím IPC.
Zdroj: opennet.ru
