Выпуск операционной системы Redox OS 0.8, написанной на языке Rust

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 2497
Зарегистрирован: 20.08.2022

#

Выпуск операционной системы Redox OS 0.8, написанной на языке Rust
Дата публикации:Thu, 24 Nov 2022 06:46:20 +0300


Опубликован выпуск операционной системы Redox 0.8, разработанной с использованием языка Rust и концепции микроядра. Наработки проекта распространяются под свободной лицензией MIT. Для тестирования Redox OS предложены демонстрационные сборки размером 768 МБ, а также образы с базовым графическим окружением (256 МБ) и консольным инструментарием для серверных систем (256 МБ). Сборки сформированы для архитектуры x86_64 и доступны для систем с UEFI и BIOS. Демонстрационный образ кроме графического окружения Orbital включает эмулятор DOSBox, подборку игр (DOOM, Neverball, Neverputt, sopwith, syobonaction), обучающие программы, музыкальный проигрыватель rodioplay и текстовый редактор Sodium.


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

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


Пользовательское окружение в Redox построено на базе собственной графической оболочки Orbital (не путать с другой оболочкой Orbital, использующей Qt и Wayland) и тулкита OrbTk, предоставляющего API, похожий на Flutter, React и Redux. В качестве web-браузера применяется Netsurf. Проектом также развивается собственный пакетный менеджер, набор стандартных утилит (binutils, coreutils, netutils, extrautils), командная оболочка ion, стандартная Си-библиотека relibc, vim-подобный текстовый редактор sodium, сетевой стек и файловая система. Конфигурация задаётся на языке Toml.


В новом выпуске продолжена работа по обеспечению работы на реальном оборудовании. Помимо архитектуры x86_64 добавлена возможность работы на 32-разрядных системах x86 (i686, Pentium II и новее). Ведётся портирование на CPU ARM64 (aarch64). Работа на реальном ARM-оборудовании пока не поддерживается, но возможна загрузка при эмуляции ARM64 в QEMU. По умолчанию активирована звуковая подсистема и обеспечена начальная поддержка многомониторных конфигураций (на системах с фреймбуфером UEFI). Из оборудования, которое поддерживается в Redox OS, названы звуковых чипы AC’97 и Intel HD Audio, вывод графики через API VESA BIOS или UEFI GOP, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), устройства ввода (клавиатуры, мыши, тачпады), SATA (AHCI, IDE) и NVMe. Поддержка Wi-Fi и USB пока не доведена до готовности (USB работает только в QEMU).


Другие новшества:
  • Объединены загрузочные образы для систем с BIOS и EFI.
    Реализация системных вызовов clone и exec перенесена в пространство пользователя.
    Упрощён процесс загрузки. Внедрена программа bootstrap, запускаемая ядром и обеспечивающая дальнейшую загрузку ELF-файлов, таких как процесс init.
    Добавлена программа escalated для обеспечения работы setuid-программ, таких как sudo.
    Для упрощения создания и установки фоновых процессов предложен crate-пакет redox-daemon.
    Переделана сборочная система, в которой появилась возможность сборки для разных архитектур в одном дереве исходных текстов. Для упрощения сборки разных конфигураций предложен скрипт build.sh. Добавлена поддержка сборки с использованием инструментария podman. Сборка ядра, загрузчика и initfs унифицирована с другими пакетами.

    Добавлена демонстрационная конфигурация для сборки примеров программ, не входящих в базовый загрузочный образ с графическим окружением.

    В звуковую подсистему audiod добавлена поддержка программного управления громкостью.

    Добавлен драйвер для звуковых чипов на базе AC’97. Улучшен драйвер для чипов Intel HD Audio.
    Добавлен драйвер для IDE-контроллеров.
    Улучшена поддержка накопителей NVMe.
    Улучшены драйверы PCI, PS/2, RTL8168, USB HID, VESA.

    Переработана организация процесса установки: загрузчик, bootstrap, ядро и initfs теперь размещаются в каталоге /boot.
    В ядре упрощена работа с памятью, добавлена возможность манипуляции с адресными пространствами из пользовательского уровня.

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


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=58183

Жизнь за Нер'зула!

Ответить