Выпуск операционной системы Redox OS 0.6, написанной на языке Rust

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

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

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

После полутора лет разработки опубликован выпуск операционной системы Redox 0.6, разработанной с использованием языка Rust и концепции микроядра. Наработки проекта распространяются под свободной лицензией MIT. Для тестирования Redox OS предложены готовые загрузочные образы (61 МБ). В отличие от прошлых выпусков, ветка 0.6 рассматривается как пригодная для экспериментов на реальном оборудовании, а не только в QEMU и VirtualBox.

Из новшеств, добавленных в выпуске Redox 0.6, можно отметить:
  • Полностью переписана система управления памятью ядра (rmm, kernel memory manager). В новой реализации удалось избавиться от утечек памяти, которые создавали проблемы при использовании старого менеджера памяти. Кроме того, повышена стабильность поддержки многоядерных систем.
  • В состав включены многие проекты, разработанные студентами в рамках инициативы RSoC (Redox OS Summer of Code), включая разработки, связанные с поддержкой io_uring, ptrace, strace, gdb, дисковыми разделами и ведением логов.
  • Значительно доработана развиваемая проектом стандартная Си-библиотека Relibc, способная работать не только в Redox, но и в дистрибутивах на базе ядра Linux.
  • Добавлен собственный пакетный менеджер pkgar и связанный с ним формат пакетов, развиваемый с учётом специфики Redox OS. Пакетным менеджером предоставляется верификация источника по цифровой подписи, контроль целостности, возможность повторяемой сборки, автоматические обновления, передача только изменившихся данных, независимость от каталога установки. В отличие от других форматов, pkgar включает только метаданные, необходимые для извлечения пакета.
  • Скрипты cookbook, включающие инструкции по сборке различных компонентов Redox OS, переведены на новую сборочную систему, написанную на языке Rust. В новой сборочной системе вместо Shell-сценариев для описания логики сборки предложены файлы с формате Toml.
  • Много времени при подготовке новой версии было потрачено на борьбу с нарушающими совместимость изменениями в ночных сборках Rust, связанными с переработкой макроса Asm.
Напомним, что операционная система развивается в соответствии с философией Unix и заимствует некоторые идеи из SeL4, Minix и Plan 9. Redox использует концепцию микроядра, при котором на уровне ядра обеспечивается только взаимодействие между процессами и управление ресурсами, а вся остальная функциональность вынесена в библиотеки, которые могут использоваться как ядром, так и пользовательскими приложениями. Все драйверы выполняются в пространстве пользователя в изолированных sandbox-окружениях. Для совместимости с существующими приложениями предоставляется специальная POSIX-прослойка, позволяющая запускать многие программы без портирования.
В системе применяется принцип "все есть URL". Например, для записи в лог может использоваться URL "log://", для взаимодействия между процессами "bus://", для сетевого взаимодействия "tcp://" и т.п. Модули, которые могут быть реализованы в форме драйверов, расширений ядра и пользовательских приложений, могут регистрировать свои обработчики URL, например, можно написать модуль обращения к портам ввода/вывода и привязать его к URL "port_io://", после чего можно использовать его для доступа к 60 порту через открытие URL "port_io://60". Наработки проекта распространяются под свободной лицензией MIT.
Пользовательское окружение в Redox построено на базе собственной графической оболочки Orbital (не путать с другой оболочкой Orbital, использующей Qt и Wayland) и тулкита OrbTk, предоставляющего API, похожий на Flutter, React и Redux. В качестве web-браузера применяется Netsurf. Проектом также развивается собственный пакетный менеджер, набор стандартных утилит (binutils, coreutils, netutils, extrautils), командная оболочка ion, стандартная Си-библиотека relibc, vim-подобный текстовый редактор sodium, сетевой стек и файловая система TFS, развиваемая на основе идей ZFS (модульный вариант ZFS на языке Rust). Конфигурация задаётся на языке Toml.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_redox, #_rust
Профиль  ЛС 
Показать сообщения:     

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

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