Кампанія Google апублікавала выпуск аперацыйнай сістэмы Fuchsia 14, на базе якога сфарміраваны папярэднія абнаўленні прашывак для фотарамак Google Nest Hub і Nest Hub Max. АС Fuchsia развіваецца кампаній Google з 2016 года з улікам недахопаў у галіне маштабавання і забеспячэння бяспекі, якія ёсць у платформе Android.
Асноўныя змены ў Fuchsia 14:
- Пашыраны магчымасці праслойкі Starnix, якая забяспечвае запуск немадыфікаваных Linux-праграм праз трансляцыю сістэмных інтэрфейсаў ядра Linux у звароты да адпаведных падсістэм Fuchsia. У новай версіі дададзена падтрымка мантавання выдаленых ФС, у fxfs дададзены xattrs для сімвалічных спасылак, у сістэмны выклік mmap() дададзены кропкі трасіроўкі, пашырана інфармацыя ў /proc/pid/stat, уключаная падтрымка fuchsia_sync::Mutex, рэалізаваная падтрымка O_TMPFI sys_reboot(), timer_create, timer_delete, times() і ptrace(), у рэалізацыі ext4 задзейнічаны сістэмны файлавы кэш.
- Палепшаны стэк Bluetooth. Дададзена падтрымка гуку ў Bluetooth-профілі HSP (HandSet Profile) і скарочаныя затрымкі пры вяшчанні гуку праз профіль A2DP.
- У Matter, рэалізацыю стандарту для падлучэння прылад у разумнай хаце, дададзеная падтрымка груп абнаўлення і магчымасць апрацоўкі пераходных станаў пры кіраванні падсвятленнем.
- У сеткавым стэку для ўсіх платформаў уключаная падтрымка сокетаў FastUDP.
- Дададзена падтрымка шмат'ядравых сістэм (SMP) на базе архітэктуры RISC-V.
- Дададзены API для ўзаемадзеяння з планавальнікам задач.
- Дададзена падтрымка DeviceTree.
- Драйвер для гукавых прылад з інтэрфейсам USB пераведзены на выкарыстанне фрэймворка DFv2.
Fuchsia грунтуецца на мікраядры Zircon, заснаваным на напрацоўках праекта LK, пашыранага для прымянення на розных класах прылад, у тым ліку смартфоны і персанальныя кампутары. Zircon пашырае LK падтрымкай працэсаў і падзяляных бібліятэк, узроўнем карыстальніка, сістэмай апрацоўкі аб'ектаў і мадэллю забеспячэння бяспекі на аснове capability. Драйверы рэалізуюцца ў выглядзе якія працуюць у прасторы карыстача дынамічных бібліятэк, загружаных працэсам devhost і кіраваных мэнэджарам прылад (devmg, Device Manager).
Для Fuchsia падрыхтаваны ўласны графічны інтэрфейс, напісаны на мове Dart з выкарыстаннем фрэймворка Flutter. Праектам таксама развіваюцца фрэймворк для пабудовы інтэрфейсаў карыстальніка Peridot, пакетны менеджэр Fargo, стандартная бібліятэка libc, сістэма рэндэрынгу Escher, Vulkan-драйвер Magma, кампазітны менеджэр Scenic, файлавыя сістэмы MinFS, MemFS, ThinFS (FAT на мове Go) і Blobfs, а таксама менеджэр раздзелаў FVM. Для распрацоўкі прыкладанняў падаецца падтрымка моў C/C++, Dart, у сістэмных кампанентах таксама дапушчаецца выкарыстанне Rust, у сеткавым стэку Go, а ў сістэме зборкі мовы Python.
Падчас загрузкі выкарыстоўваецца сістэмны мэнэджар, улучальны appmgr для стварэння пачатковага праграмнага асяроддзя, sysmgr для фармавання загрузнага асяроддзя і basemgr для налады карыстацкага асяроддзя і арганізацыі ўваходу ў сістэму. Для забеспячэння бяспекі прапануецца прасунутая сістэма sandbox-ізаляцыі, у якой новыя працэсы не маюць доступу да аб'ектаў ядра, не могуць вылучаць памяць і не могуць запускаць код, а для доступу да рэсурсаў прымяняецца сістэма прастор імёнаў, якая вызначае даступныя паўнамоцтвы. Платформа дае фрэймворк для стварэння кампанентаў, якія ўяўляюць сабой праграмы, якія запускаюцца ў сваім sandbox, якія могуць узаемадзейнічаць з іншымі кампанентамі праз IPC.
Крыніца: opennet.ru