Представлена новая операционная система Redox, примечательная использованием для разработки языка Rust. Наработки проекта распространяются под свободной лицензией MIT. После сборки систему можно опробовать при помощи VirtualBox или QEMU.

Redox развивается в соответствии с философией Unix и основывается на принципе "все есть URL". Например, для записи в лог может использоваться URL "log://", для взаимодействия между процессами "bus://", для сетевого взаимодействия "tcp://" и т.п. Модули, которые могут быть реализованы в форме драйверов, расширений ядра и пользовательских приложений, могут регистрировать свои обработчики URL, например, можно написать модуль обращения к портам ввода/вывода и привязать его к URL "port_io://", после чего можно использовать его для доступа к 60 порту через открытие URL "port_io://60".

Операционная система использует концепцию экзоядра, при котором на уровне ядра обеспечивается только взаимодействие между процессами и управление ресурсами. Вся остальная функциональность вынесена в библиотеки, которые могут использоваться как ядром, так и пользовательскими приложениями. В Redox применён необычный подход к безопасности - все драйверы и программы выполняются только в изолированных sandbox-окружениях, но пользователь при этом имеет наивысшие привилегии в системе.

Несмотря на то, что система находится на начальной стадии развития, она уже снабжена похожим на X11 графическим интерфейсом, VFS, сетевым стеком, а также снабжена собственным пакетным менеджером оxide и системой инициализации fired. В качестве основной файловой системы планируется использовать ZFS, реализация которой в текущем виде пока не доведена до рабочего состояния.

Система инициализации fired во многом повторяет типичные init-системы, поддерживает параллельный запуск сервисов и зависит только от ядра. Для настройки запуска используются файлы конфигурации на языке Toml вместо скриптов на shell. Сетевая подсистема предоставляет несколько URL для доступа на различных уровнях: "tcp://", "udp://", "ip://", "ethernet://" и "network://". Например, для обращения к 80 порту хоста 10.85.85.1 следует использовать URL "tcp://10.85.85.1/80".

Источник: http://www.opennet.ru/opennews/art.shtml?num=43105