A Google közzétette a Fuchsia 14 operációs rendszer kiadását, amely alapján előzetes firmware-frissítések készültek a Google Nest Hub és Nest Hub Max fényképező keretekhez. A Fuchsia OS-t a Google 2016 óta fejleszti, figyelembe véve az Android platformon tapasztalható skálázhatósági és biztonsági hiányosságokat.
A Fuchsia 14 főbb változásai:
- Bővült a Starnix réteg képessége, amely lehetővé teszi a módosítatlan Linux programok futtatását a Linux kernel rendszerszintű interfészeinek Fuchsia megfelelő alrendszereihez való fordításával. Az új verzió támogatást ad a távoli fájlrendszerek csatolására, az fxfs-hez xattr-okat adtak a szimbolikus linkekhez, a mmap() rendszerhívásban nyomkövetési pontok kerültek bevezetésre, bővült az információ a /proc/pid/stat fájlban, támogatást kapott a fuchsia_sync::Mutex, megvalósult az O_TMPFILE, pidfd_getfd, sys_reboot(), timer_create, timer_delete, times() és ptrace(), az ext4 megvalósításban rendszerfájl cache-t használtak.
- Javult a Bluetooth stack. A Bluetooth HSP (HandSet Profile) profilon keresztül érkező hang támogatása került bevezetésre, és csökkentek a késések az A2DP profilon keresztüli hangközlés során.
- A Matter, a smart home eszközök csatlakozási szabványának megvalósítása, támogatja a frissítési csoportok bevezetését és a háttérvilágítás vezérlésénél az átmeneti állapotok kezelését.
- A hálózati stack minden platformra bevezette a FastUDP socketek támogatását.
- Bevezetésre került a többmagos rendszerek (SMP) támogatása RISC-V architektúrára alapozva.
- Bevezetésre került egy API a feladatütemezővel való interakcióhoz.
- Támogatás került bevezetésre a DeviceTree számára.
- Az USB interfészes hangkészülékek illesztőprogramját átkonvertálták a DFv2 keretrendszer használatára.
A Fuchsia a Zircon mikrokernelen alapul, amely az LK projekt eredményeire épül, és kiterjesztették különböző eszközkategóriák, köztük okostelefonok és személyi számítógépek alkalmazásához. A Zircon az LK támogatását bővíti folyamatokkal és megosztott könyvtárakkal, felhasználói szinttel, objektumkezelő rendszerrel és capability-alapú biztonsági modellel. Az illesztőprogramok a felhasználói térben működő dinamikus könyvtárakként valósulnak meg, amelyeket a devhost folyamat tölt be, és az eszközkezelő (devmg, Device Manager) irányít.
A Fuchsia saját grafikus felületet készített Dart nyelven, a Flutter keretrendszer használatával. A projekt részeként fejlesztik a Peridot felhasználói felület építő keretrendszert, a Fargo csomagkezelőt, a libc standard könyvtárat, az Escher renderelő rendszert, a Magma Vulkan-illesztőprogramot, a Scenic összeállító menedzsert, a MinFS, MemFS, ThinFS (Go nyelven írt FAT) és Blobfs fájlrendszereket, valamint az FVM partíciókezelőt. Az alkalmazásfejlesztéshez támogatott nyelvek közé tartozik a C/C++, Dart, a rendszerszintű komponensekben pedig Rust, a hálózati veremben Go, a build rendszerben pedig Python használata is megengedett.
A betöltés során egy rendszermenedszer működik, amely tartalmazza az appmgr-t az alap programkörnyezet létrehozásához, a sysmgr-t a betöltési környezet kialakításához és a basemgr-t a felhasználói környezet beállításához és a rendszerbe való belépés szervezéséhez. A biztonság érdekében egy fejlett sandbox-izolációs rendszert kínál, amelyben az új folyamatok nem férnek hozzá a kernel objektumaihoz, nem tudnak memóriát allokálni és nem tudnak kódot futtatni; az erőforrásokhoz való hozzáférést egy névtér rendszer határozza meg, amely meghatározza a rendelkezésre álló jogosultságokat. A platform keretrendszert biztosít a sandboxban futó programokat képviselő komponensek létrehozásához, amelyek más komponensekkel IPC-n keresztül léphetnek interakcióba.
Forrás: opennet.ru
