Представлена операционная система Redox, написанная на языке Rust
Представлена новая операционная система 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.redox-os.org/news/t...)
http://www.opennet.ru/opennews/art.shtml?num=43105
|