Издадена версия на операционната система 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. Като уеб браузър се използва Netsurf. Проектът също така развива собствен пакетен мениджър, набор от стандартни утилити (binutils, coreutils, netutils, extrautils), команден интерпретатор ion, стандартната C библиотека 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
