Redox OS 0.7 operacinės sistemos, parašytos Rust, išleidimas

После полутора лет разработки опубликован выпуск операционной системы 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.

Redox OS 0.7 operacinės sistemos, parašytos Rust, išleidimas

Operacinė sistema kuriama pagal Unix filosofiją ir pasiskolinta kai kurių idėjų iš SeL4, Minix ir Plan 9. Redox naudoja mikrobranduolių koncepciją, kurioje branduolio lygiu užtikrinamas tik ryšys tarp procesų ir išteklių valdymo, o visos kitos funkcijos yra talpinamos. bibliotekose, kuriose galima naudoti tiek branduolį, tiek vartotojo programas. Visos tvarkyklės veikia vartotojo erdvėje izoliuotoje smėlio dėžės aplinkoje. Suderinamumui su esamomis programomis yra numatytas specialus POSIX sluoksnis, leidžiantis daugeliui programų veikti be perkėlimo.

Sistema taiko principą „viskas yra URL“. Pavyzdžiui, URL „log://“ gali būti naudojamas registruojant, „bus://“ – tarpprocesiniam ryšiui, „tcp://“ – tinklo ryšiui ir pan. Moduliai, kuriuos galima įdiegti kaip tvarkykles, branduolio plėtinius ir pasirinktines programas, gali užregistruoti savo URL tvarkykles, pavyzdžiui, galite parašyti I/O prieigos modulį ir susieti jį su „port_io://“ URL, po kurio galite naudoti jį norėdami pasiekti 60 prievadą atidarę URL „port_io://60“.

„Redox“ naudotojo aplinka sukurta remiantis paties „Orbital“ grafiniu apvalkalu (negalima painioti su kitu „Orbital“ apvalkalu, naudojančiu Qt ir „Wayland“) ir „OrbTk“ įrankių rinkiniu, kuris suteikia API, panašią į „Flutter“, „React“ ir „Redux“. Netsurf naudojama kaip interneto naršyklė. Projektas taip pat sukuria savo paketų tvarkyklę, standartinių paslaugų rinkinį (binutils, coreutils, netutils, extrautils), jonų komandų apvalkalą, relibc standartinę C biblioteką, natrio vim tipo teksto rengyklę, tinklo krūvą ir failą. sistema. Konfigūracija nustatyta Toml kalba.

Šaltinis: opennet.ru

Добавить комментарий