[Программирование, Rust, Софт] Операционная система Redox 0.6, написанная на Rust: что нового в выпуске?

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
27-Дек-2020 04:33

Спустя полтора года разработки авторы операционной системы Redox 0.6, написанной с использованием языка Rust, опубликовали новый выпуск. Новинку можно протестировать — для этого в сеть выложены загрузочные образы. Их объем составляет 61 МБ. Свежая версия может тестироваться уже на обычном «железе», а не в QEMU и VirtualBox.
Операционная система распространяется под свободной лицензией MIT. Что нового в версии 0.6?
  • Практически с нуля переписана система управления памятью ядра. Речи идет об rmm, kernel memory manager. Разработчикам удалось избавиться от утечек памяти, создававшие проблемы при использовании старого менеджера памяти. Также повышена и стабильность поддержки многоядерных систем.
  • В состав операционной системы включено несколько проектов, которые разработали студенты в рамках инициативы RSoC (Redox OS Summer of Code), включая разработки, связанные с поддержкой io_uring, ptrace, strace, gdb, дисковыми разделами и ведением логов.
  • Авторам проекта удалось доработать стандартную Си-библиотеку Relibc, которая способна работать не только в Redox, но и в дистрибутивах на базе ядра Linux.
  • Сейчас добавлен и собственный пакетный менеджер pkgar со связанным с ним форматом пакетов. Пакетный менеджер предоставляет верификацию источника по цифровой подписи. Также есть контроль целостности, возможность повторяемой сборки, автоматически обновления, передача изменившихся данных и независимость от каталога установки. В отличие от других форматов, pkgar включает лишь метаданные, которые необходимы для извлечения пакета.
  • Еще одно обновление заключается в переводе скриптов cookbook на новую сборочную систему, которая написана на языке Rust. В ней вместо Shell-сценариев для описания логики сборки предложены файлы в формате Tomt.
  • Большое количество времени ушло на борьбу с нарушениями совместимости, которые связаны с переработкой макроса Asm.

Что касается особенностей этой операционной системы, то она развивается полностью в соответствии с философией Unix. Ряд идей авторы позаимствовали из SeL4, Minix и Plan 9. Одна из основных «фишек» — использование концепции микроядра, при которой обеспечивается только взаимодейсвие между процессами и управление ресурсами. Остальная функциональность вынесена в библиотеки, которые могут использоваться как ядром, так и пользовательскими приложениями. Все драйверы выполняются в пространстве пользователя в изолированных sandbox-окружениях. Для совместимости с существующими приложениями предусмотрена POSIX-прослойка, которая дает возможность запускать многие программы без портирования.
Кроме того, разработчики использовали для своей ОС принцип «все есть URL». Так, для записи в лог может использоваться URL «log://», для взаимодействия между процессами «bus://», для сетевого взаимодействия «tcp://» и т.п. Что касается модулей, которые могут быть реализованы в форме драйверов, расширений ядра и пользовательских приложений, могут регистрировать свои обработчики URL. Пример — написание модуля обращения к портам ввода/вывода и привязать его к URL «port_io://», после чего можно использовать его для доступа к 60 порту через открытие URL «port_io://60».
Пользовательское окружение основывается на собственной графической оболочке OrbTk, предоставляющего API, похожий на Flutter, React и Redux. Браузер — Netsurf. В ходе развития проекта разработчики предусмотрели собственный пакетный менеджер, набор стандартных утилит (binutils, coreutils, netutils, extrautils), командная оболочка ion, стандартная Си-библиотека relibc, vim-подобный текстовый редактор sodium, сетевой стек и файловая система TFS, развиваемая на основе идей ZFS (модульный вариант ZFS на языке Rust). Конфигурация задаётся на языке Toml.

===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_programmirovanie (Программирование), #_rust, #_soft (Софт), #_redox_0.6, #_operatsionnaja_sistema (операционная система), #_rust, #_blog_kompanii_selectel (
Блог компании Selectel
)
, #_programmirovanie (
Программирование
)
, #_rust, #_soft (
Софт
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 16:56
Часовой пояс: UTC + 5