Google апублікаваў абнаўленне аперацыйнай сістэмы Fuchsia 14

Кампанія 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

Дадаць каментар