Verëffentlechung vum Redox OS 0.7 Betribssystem a Rust geschriwwen

После полутора лет разработки опубликован выпуск операционной системы Redox 0.7, разработанной с использованием языка Rust и концепции микроядра. Наработки проекта распространяются под свободной лицензией MIT. Для тестирования Redox OS предложены установочные и Live-образы, размером 75 МБ. Сборки сформированы для архитектуры x86_64 и доступны для систем с UEFI и BIOS.

При подготовке нового выпуска основное внимание было уделено обеспечению работы на реальном оборудовании. Основные новшества:

  • Полностью переписан загрузчик, в котором унифицирован и преимущественно написан на Rust код для загрузки на системах с BIOS и UEFI. Изменение загрузчика позволило существенно расширить спектр поддерживаемого оборудования.
  • В ядре помимо исправления ошибок проведена работа по повышению производительности и расширению поддержки оборудования. Специфичные для CPU переменные переведены на использование регистра GS. Обеспечено отражение (мапинг) всей физической памяти, прекращено использование рекурсивных страниц памяти. Ассемблерный код в inline-вставках переписан для улучшения совместимости с будущими выпусками компилятора.
  • Добавлена начальная поддержка архитектуры AArch64.
  • Осуществлён переход на обработку всех файловых путей в кодировке UTF-8.
  • Код для работы с ACPI AML (ACPI Machine Language) Specification — uefi.org перенесён из ядра в фоновый процесс acpid, выполняемый в пользовательском пространстве.
  • Содержимое Initfs перенесено в новый файл, что упростило формирование пакетов.
  • Файловая система RedoxFS переписана и переведена на использование механизма CoW (Copy-on-Write), при котором изменения не перезаписывают информацию, а сохраняются в новое место, что позволило добиться существенного повышения надёжности. Из новых возможностей RedoxFS отмечается поддержка транзакционных обновлений, шифрования данных с использованием алгоритма AES, а также заверения данных и метаданных цифровыми подписями. Обеспечено совместное использование кода ФС в системе и загрузчике.
  • Продолжено усовершенствование развиваемой проектом стандартной Си-библиотеки Relibc, способной работать не только в Redox, но и в дистрибутивах на базе ядра Linux. Внесённые изменения упростили перенос различных программ в Redox и решили проблемы со многими программами и библиотеками, написанными на языке Си.
  • Подготовлена версия компилятора rustc, способная запускаться в Redox. Из остающихся задач отмечается оптимизация производительности и адаптация пакетного менеджера cargo для работы в окружении Redox.

Verëffentlechung vum Redox OS 0.7 Betribssystem a Rust geschriwwen

De Betribssystem gëtt am Aklang mat der Unix Philosophie entwéckelt a léint e puer Iddien aus SeL4, Minix a Plan 9. Redox benotzt d'Konzept vun engem Mikrokernel, an deem nëmmen d'Interaktioun tëscht Prozesser a Ressourceverwaltung um Kernelniveau geliwwert gëtt, an all aner Funktionalitéit gëtt a Bibliothéike plazéiert, déi souwuel de Kernel wéi och de Benotzerapplikatioune kënne benotzt ginn. All Chauffeuren lafen am Benotzerraum an isoléierte Sandbox Ëmfeld. Fir Kompatibilitéit mat existéierenden Uwendungen gëtt eng speziell POSIX Schicht zur Verfügung gestallt, déi Iech erlaabt vill Programmer ouni Porting ze lafen.

De System benotzt de Prinzip "Alles ass eng URL". Zum Beispill kann d'URL "Log: //" fir Logged benotzt ginn, "Bus: //" fir Interaktioun tëscht Prozesser, "tcp://" fir Netzwierkinteraktioun, etc. Moduler, déi a Form vu Chauffeuren, Kernelverlängerungen a Benotzerapplikatiounen implementéiert kënne ginn, kënnen hir eege URL Handler registréieren, zum Beispill kënnt Dir en I/O Port Access Modul schreiwen an et un d'URL "port_io://" binden ", duerno kënnt Dir et benotze fir Zougang zum Port 60 andeems Dir d'URL "port_io://60" opmaacht.

D'Benotzerëmfeld am Redox ass op Basis vun der Orbital senger eegener grafescher Shell gebaut (net ze verwiessele mat enger anerer Orbital Shell déi Qt a Wayland benotzt) an dem OrbTk Toolkit, deen eng API ähnlech wéi Flutter, React a Redux ubitt. Netsurf gëtt als Webbrowser benotzt. De Projet entwéckelt och säin eegene Package Manager, eng Rei vu Standard Utilities (binutils, coreutils, netutils, extrautils), d'Ion Kommando Shell, d'Standard C Bibliothéik relibc, de vim-ähnlechen Texteditor Natrium, e Netzwierkstack an eng Datei System. D'Konfiguratioun ass an der Toml Sprooch gesat.

Source: opennet.ru

Setzt e Commentaire