Google'i ettevõte avaldas Fuchsia 14 operatsioonisüsteemi väljaande, mille raames on loodud eelversioonid Google Nest Hub ja Nest Hub Max fotoraamide püsivara värskendusteks. Fuchsia OS on Google'i arenduses alates 2016. aastast, arvestades Androidi platvormi skaleeritavuse ja turvalisuse puudusi.
Fuchsia 14 peamised muudatused:
- Starnixi kihil, mis võimaldab käivitada muutmata Linuxi programme Linuxi tuumade süsteemiliideste edastamise kaudu Fuchsia vastavatele alamsüsteemidele, on laiemad võimalused. Uues versioonis on lisatud tugi kaugfailisüsteemide kinnitamiseks, fxfs-is on lisatud xattrs sümboolsetele linkidele, süsteemikutsesse mmap() on lisatud jälgimispunkte, /proc/pid/stat-is on laiem teave, on aktiveeritud fuchsia_sync::Mutex tugi, O_TMPFILE, pidfd_getfd, sys_reboot(), timer_create, timer_delete, times() ja ptrace() toe rakendamine, ext4-teostuses on kasutada süsteemi failikahet.
- Bluetoothi kiht on paranenud. HSP (HandSet Profile) Bluetooth-profiili heli tugi on lisatud ning A2DP profiili kaudu edastamisel on viivitused lühenenud.
- Matteris, nutiseadmete ühendamise standardi rakenduses, on lisatud grupi värskenduse tugi ja üleminekuolukordade töötlemise võimalus valgustuse juhtimisel.
- Kõikide platvormide võrgustekis on lisatud FastUDP sokettide tugi.
- Sisse on toodud mitme tuumaga süsteemide (SMP) tugi RISC-V arhitektuuri alusel.
- Lisatud on API ülesande ajastaja suhtlemiseks.
- DeviceTree'i tugi on lisatud.
- USB-interfääri heliseadmete draiver on üle viidud DFv2 raamistikule.
Fuchsia põhineb mikrokerel Zircon, mis põhineb LK projekteeritud tööl, laiendatud kasutamiseks erinevates seadmeklassides, sealhulgas nutitelefonides ja personaalarvutites. Zircon laiendab LK-d protsesside ja jagatavate teekide toetamisega, kasutaja taseme, objektide töötlemise süsteemi ja capability-põhise turbemudeli. Draiverid rakendatakse kasutaja ruumis töötavate dünaamiliste teekidena, mille laadib devhost protsess ja haldab seadmehaldur (devmg, Device Manager).
Fuchsia jaoks on loodud oma graafiline liides, mis on kirjutatud Dart keeles, kasutades Flutter raamistikku. Projektis arendatakse ka kasutajaliidese loomise raamistikku Peridot, pakihaldurit Fargo, standardset raamatukogu libc, renderdus süsteemi Escher, Vulkan draiverit Magma, komposiitmanegerit Scenic, failisüsteeme MinFS, MemFS, ThinFS (FAT Go keeles) ja Blobfs, samuti sektsioonide haldurit FVM. Rakenduste arendamiseks on toetatud keeli C/C++, Dart, süsteemikomponentides on samuti lubatud Rusti kasutamine, võrgu stackis Go ja ehitussüsteemis Python.
Laadimise protsessis kasutatakse süsteemihaldurit, mis sisaldab appmgr'i algse programmikeskkonna loomiseks, sysmgr'i laadimis keskkonna kujundamiseks ja basemgr'i kasutajakeskkonna seadistamiseks ning sisselogimise korraldamiseks. Turvalisuse tagamiseks on pakutud täiustatud sandbox-isolatsiooni süsteem, kus uudsed protsessid ei pääse juurdepääsu tuumobjektidele, ei saa eraldada mälu ega saata koodi, ning ressurssidele juurdepääsuks rakendatakse nimede ruumide süsteem, mis määratleb kättesaadavad õigused. Platvorm pakub raamistikku komponentide loomiseks, mis on programmid, mida käitatakse oma sandboxes ja mis saavad teiste komponentidega suhelda läbi IPC.
Allikas: opennet.ru
