Itusilẹ ti ẹrọ ṣiṣe Redox OS 0.7 ti a kọ sinu Rust

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

Itusilẹ ti ẹrọ ṣiṣe Redox OS 0.7 ti a kọ sinu Rust

Awọn ọna ẹrọ ti wa ni idagbasoke ni ibamu pẹlu awọn Unix imoye ati ki o ya diẹ ninu awọn ero lati SeL4, Minix ati Eto 9. Redox nlo awọn Erongba ti a microkernel, ninu eyi ti nikan ibaraenisepo laarin awọn ilana ati isakoso awọn oluşewadi ni ipele ekuro, ati gbogbo awọn miiran. A gbe iṣẹ ṣiṣe sinu awọn ile-ikawe ti o le ṣee lo mejeeji ekuro ati awọn ohun elo olumulo. Gbogbo awakọ nṣiṣẹ ni aaye olumulo ni awọn agbegbe apoti iyanrin ti o ya sọtọ. Fun ibamu pẹlu awọn ohun elo ti o wa tẹlẹ, a pese Layer POSIX pataki kan, eyiti o fun ọ laaye lati ṣiṣe ọpọlọpọ awọn eto laisi gbigbe.

Eto naa nlo ilana “ohun gbogbo jẹ URL”. Fun apẹẹrẹ, URL “log://” le ṣee lo fun iwọle, “bọọsi: //” fun ibaraenisepo laarin awọn ilana, “tcp: //” fun ibaraenisepo nẹtiwọki, ati bẹbẹ lọ. Awọn modulu, eyiti o le ṣe imuse ni irisi awakọ, awọn amugbooro kernel, ati awọn ohun elo olumulo, le forukọsilẹ awọn oluṣakoso URL tiwọn, fun apẹẹrẹ, o le kọ module wiwọle ibudo I/O kan ki o so mọ URL naa “port_io: // ", lẹhin eyi o le lo lati wọle si ibudo 60 nipa ṣiṣi URL"port_io: // 60".

Ayika olumulo ni Redox ti a ṣe lori ipilẹ ti ikarahun ayaworan ti Orbital (kii ṣe idamu pẹlu ikarahun Orbital miiran ti o lo Qt ati Wayland) ati ohun elo irinṣẹ OrbTk, eyiti o pese API kan ti o jọra si Flutter, React ati Redux. Netsurf ti lo bi ẹrọ aṣawakiri wẹẹbu kan. Ise agbese na tun n ṣe agbekalẹ oluṣakoso package tirẹ, ṣeto awọn ohun elo boṣewa (binutils, coreutils, netutils, extrautils), ikarahun aṣẹ ion, ile-ikawe C boṣewa, iṣuu iṣuu olootu ọrọ vim, akopọ nẹtiwọọki ati faili kan. eto. Iṣeto ni a ṣeto ni ede Toml.

orisun: opennet.ru

Fi ọrọìwòye kun