После года разработки анонсирован запуск новой версии операционной системы Redox 0.5, Который Основное внимание уделяется тому, что при разработке используется язык Rust и концепция микроядра.
Развитие проекта распространяются под бесплатной лицензией MIT. Для тестирования в VirtualBox или QEMU для каждого из них предлагаются определенные загрузочные образы.
Пользовательская среда Redox основана на графическом интерфейсе пользователя Orbital, работающем на Wayland. Netsurf используется как веб-браузер.
О Redox
Операционная система использует концепцию микроядра, где на уровне ядра обеспечивается только взаимодействие между процессами и управление ресурсами. а все остальные функции перенесены в библиотеки, которые могут использоваться как ядром, так и пользовательскими агентами.
все контроллеры работают в пользовательском пространстве в песочнице. Для совместимости с существующими приложениями, предоставляется специальный уровень POSIX, который позволяет запускать многие программы без переноса.
Окислительно-восстановительный потенциал разработан в соответствии с философией Unix, заимствуя некоторые идеи из SeL4, Minix и Plan 9.
Система использует принцип «все является URL-адресом.».
Например, URL-адрес «log: //» может использоваться для ведения журнала, взаимодействия между процессами «bus: //», сетевого взаимодействия «tcp: //» и т. Д.
Модули, которые могут быть реализованы в виде драйверов, расширений ядра и пользовательских агентов, могут регистрировать свои обработчики URL-адресов, например, вы можете написать модуль для доступа к портам ввода-вывода и привязать его к URL-адресу "port_io: / /", после который вы можете использовать для доступа к порту 60, открыв URL-адрес «port_io: // 60».
В проекте также разрабатывается собственный пакетный менеджер., набор стандартных утилит (binutils, coreutils, netutils, extrautils), командная оболочка "ion", текстовый редактор типа vod, сетевой стек и файловая система TFS, разработанная на основе идей ZFS. ).
Конфигурация задается на языке Toml. В настоящее время система поддерживает использование процессоров x86_64 с VBE-совместимой видеокартой (nvidia, intel, amd), накопителями AHCI и сетевыми картами на базе чипов E1000 или RTL8168.
Основные нововведения Redox 0.5
Релиз новой версии Redox 0.05 содержит некоторые нововведения, из которых мы можем выделить в первую очередь саму стандартную библиотеку C Relibc, написанную на Rust.
Relibc позиционируется как переносимая реализация стандартной библиотеки C, совместимая с POSIX и способная работать не только с Redox, но и с дистрибутивами на базе Linux.
Ранее на Redox, форк библиотеки newlib из проекта Cygwin она использовалась как стандартная библиотека, но не была адаптирована для разработчиков с точки зрения безопасности и кроссплатформенности. На текущем этапе разработки Relibc уже намного превосходит newlib по функциональности.
В дополнение к этому в Redox 0.5 подготовлены новые bootloader-coreboot и bootloader-efi для coreboot и EFI, на основе которых формировались загрузочные образы.
Библиотеки для работы с EFI написаны на Rust и код запуска (полезная нагрузка для coreboot) в Rust. Зарядные устройства можно использовать отдельно от Redox и в других проектах.
Система управления событиями была переработана, чтобы обеспечить правильную поддержку выбора и опроса вызовов.
Из других новостей, которые могут быть освещены в анонсе этой новой версии, мы находим:
- Реализована полная поддержка функций отображения памяти (mmap).
- Была добавлена поддержка Pthreads и предложены дополнительные системные вызовы для обработки сигналов.
- Улучшенная поддержка LLVM, позволяющая собирать rustc и Mesa (c llvmpipe).
- Благодаря переходу на новую системную библиотеку была достигнута поддержка многих новых приложений.
- Всего было добавлено 62 новых пакета.
Для установки в Redox уже есть пакеты, готовые к использованию с библиотеками SDL2, ffmpeg, cairo, gstreamer, pcre, glman, libiconv, libsodium и gettext, набор компиляторов, реализация OpenGL, приложение OpenGL, Vcckv Mesa, эмуляторы scummvm, досциты и обычаи, а также приложение OpenGL в его наборе. Nukem 3D), openttd и FreeDoom.