Представлена (http://www.redox-os.org/news/this-week-in-redox-1/) новая операционная система Redox (http://www.redox-os.org), примечательная использованием для разработки языка Rust. Наработки проекта распространяются (https://github.com/redox-os/redox) под свободной лицензией MIT. После сборки систему можно опробовать при помощи VirtualBox или QEMU.
Redox развивается в соответствии с философией Unix и основывается на принципе "все есть URL (https://github.com/redox-os/redox/wiki/URL)". Например, для записи в лог может использоваться URL "log://", для взаимодействия между процессами "bus://", для сетевого взаимодействия "network://" и т.п. Модули, которые могут быть реализованы в форме драйверов, расширений ядра и пользовательских приложений, могут регистрировать свои обработчики URL, например, можно написать модуль обращения к порам ввода/вывода и привязать его к URL "port_io://", после чего можно использовать его для доступа к 60 порту через открытие URL "port_io://60".
Операционная система использует концепцию экзоядра (https://ru.wikipedia.org/wiki/%D0%AD%D0%... при котором на уровне ядра обеспечивается только взаимодействия между процессами и управление ресурсами. Вся остальная функциональность вынесена в библиотеки (https://github.com/redox-os/redox/wiki/Standard%20Libra... которые могут использоваться как ядром, таки пользовательскими приложениями. В Redox применён необычный подход к безопасности - все драйверы и программы выполняются только в изолированных sandbox-окружениях, но пользователь при этом имеет наивысшие привилегии в системе.
Несмотря на то, что система находится на начальной стадии развития, она уже снабжен похожим на X11 графическим интерфейсом, VFS, сетевым стеком, загрузчиком файлов в формате ELF и системой виртуальной памяти. ОС снабжена собственным пакетным менеджером оxide (https://github.com/redox-os/oxide) и системой инициализации fired (http://www.redox-os.org/blog/fired-fast-init-system/). В качестве основной файловой системы планируется использовать ZFS, реализация которой в текущем виде пока не доведена до рабочего состояния.
<center><a href="https://raw.githubusercontent.com/redox-os/redox/master/img/... src="https://www.opennet.ru/opennews/pics_base/0_1444223985.png&q... style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
Система инициализации fired во многом повторяет типичные init-системы, поддерживает параллельный запуск сервисов и зависит только от ядра (не привязан к libc). Для настройки запуска используются файлы конфигурации на языке Toml (https://github.com/toml-lang/toml) вместо скриптов на shell. Сетевая подсистема предоставляет (https://github.com/redox-os/redox/wiki/Networking) несколько URL для доступа на различных уровнях: "tcp://", "udp://", "ip://", "ethernet://" и "network://". Например, для обращения к 80 порту хоста 10.85.85.1 следует использовать URL "tcp://10.85.85.1/80".
URL: http://www.redox-os.org/news/this-week-in-redox-1/
Новость: http://www.opennet.ru/opennews/art.shtml?num=43105