Redox OS: операционная система на Rust с микроядром и поддержкой Unix. Что это за ОС?

gr3y-sdvcya19zmtr8ghx-yvc5m.png


Мы в Selectel любим изучать разные операционные системы. Сейчас в наше поле зрения попала Redox OS, которая считается альтернативой Linux/BSD системам. Она написана на языке Rust. По словам разработчиков, теперь ОС более безопасная и производительная, чем раньше. Надавно они представили новый релиз. Подробности под катом!

i6dd-cgxsmbgkcbqji5ztfb9hfq.png


Что это за ОС?


Впервые о ней мы писали еще в 2020 году, тогда вышла версия 0.6. Недавно был релиз релиз 0.9.0. Операционная система многозадачна, она обеспечивает частичную совместимость с POSIX-стандартом.

99e3728cbccd5e60d6ec82c40d12bf6e.png


Источник.
Особенность ОС в том, что она развивается полностью в соответствии с философией Unix. Ряд идей авторы позаимствовали из SeL4, Minix и Plan 9. Одна из основных «фишек» — использование концепции микроядра, при которой обеспечивается только взаимодействие между процессами и управлением ресурсами. Остальная функциональность вынесена в библиотеки, которые могут использоваться как ядром, так и пользовательскими приложениями. Все драйверы выполняются в пространстве пользователя в изолированных sandbox-окружениях. Для совместимости с существующими приложениями предусмотрена POSIX-прослойка, которая дает возможность запускать многие программы без портирования.

Кроме того, разработчики использовали для своей ОС принцип «все есть URL». Так, для записи в лог может использоваться URL log://, для взаимодействия между процессами — bus://, для сетевого взаимодействия — tcp:// и т. п. А модули, которые могут быть реализованы в форме драйверов, расширений ядра и пользовательских приложений, могут регистрировать свои обработчики URL. Пример: написание модуля обращения к портам ввода/вывода и привязать его к URL port_io://, после чего можно использовать его для доступа к 60 порту через открытие URL port_io://60.

bcbc502722a63626f45e396ae115bf9c.jpg


Благодаря тому, что микроядро и все компоненты написаны на ассемблере и Rust, разработчикам удалось снизить вероятность возникновения багов и уязвимостей. Подавляющее большинство системных компонентов в Redox OS изолировали от ядра. Те же драйверы функционируют в пространстве пользователя. А это позволяет снизить общее количество возможных уязвимых мест системы.

Ну хорошо, а что изменилось?


Разработчики утверждают, что сейчас значительно улучшены производительность и стабильность таких компонентов системы, как вызовы и переключение контекста. А еще оптимизированы механизмы управления виртуальной и физической памятью, повышена скорость работы файловой системы и загрузчика UEFI.

Кроме того, удалось упростить процесс портирования софта с Linux/BSD систем. Например, разработчики решили перейти на обычный для Unix формат файловых путей вместо URI, который применялся ранее. Также расширены возможности инструментария для сборки софта. А еще авторы проекта продолжают улучшать реализацию стандартной библиотеки C Redox, почти на 100% написанной на Rust.

Кроме того, удалось улучшить поддержку архитектуру ARM64, что крайне важно для практически любой операционной системой. Сейчас Redox OS частично совместима с одноплатником Raspberry Pi 3B+. Также разработчики приняли решение добавить драйверы VirtIO. Они улучшают производительность ОС в виртуальных машинах.

Если говорить о софте, то уже давно удалось портировать такие модули, как Apache HTTP Server (веб-сервер), RustPython (интерпретатор Python, написанный на Rust), Lua (интерпретатор языка Lua), Perl 5 (интерпретатор языка Perl), текстовые редакторы GNU Nano и Helix, инструменты из графического Linux-окружения COSMIC: файловый менеджер, эмулятор терминала и текстовый редактор.

Сейчас готовы образы с демонстрационной сборкой операционной системы. Образ «весит» полтора гигайбайта, в него входит окружение Orbital, DOSBox (эмулятор DOS), несколько вариантов культовой игры Doom (оригинальная условно-бесплатная версия и FreeDOM), OpenGL-игры Neverball и Neverputt, Sodium — vi-подобный текстовый редактор, rodioplay — аудиоплеер с поддержкой форматов WAV/FLAC и другое ПО.

image
Операционная система работает на базе 64-битных процессоров Intel, AMD (x86_64, AMD64), с ограничениями — на 32-битных процессорах (i686), начиная с Pentium II, и 64-разрядных CPU ARM (Aarch64). Если есть желание ознакомиться с QEMU и VirtualBox — добро пожаловать, они совместимы с Redox.

К сожалению, не все так и хорошо, есть проблемы. Например, в этой операционной системе проблемы с работой беспроводных модулей связи от Atheros. Этот недостаток компенсируется тем, что тот же Ethernet от Intel рабочий. Плюс без проблем работают графические чипы как от Intel, так и от AMD.

В том, что ОС не так быстро меняется, как хотелось бы, вины команды нет. Она состоит из более чем 40 человек. Во главе с момента запуска проекта стоит Джереми Соллер (Jeremy Soller). Первый релиз Redox OS состоялся в апреле 2015 г. Сейчас руководство проекта ускоренными темпами пытается решить существующие проблемы с добавлением нужных этой ОС функций и возможностей.

Если вам удалось поработать с этой операционной системой, расскажите в комментариях, как она вам. Способна заменить ОС, к которой вы привыкли?

© Habrahabr.ru