Русский
Русский
English
Статистика
Реклама

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


Спустя полтора года разработки авторы операционной системы 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
К списку статей
Опубликовано: 27.12.2020 02:13:31
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании selectel

Программирование

Rust

Софт

Redox 0.6

Операционная система

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru