Rakirina pergala xebitandina Redox OS 0.7 ku bi Rust hatî nivîsandin

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

Rakirina pergala xebitandina Redox OS 0.7 ku bi Rust hatî nivîsandin

Pergala xebitandinê li gorî felsefeya Unix-ê hatî pêşve xistin û hin ramanan ji SeL4, Minix û Plan 9 digire. Redox têgeha mîkrokernelê bikar tîne, ku tê de tenê pêwendiya di navbera pêvajoyan û rêveberiya çavkaniyê de di asta kernel de têne peyda kirin, û hemî yên din. fonksiyonel di pirtûkxaneyên ku hem kernel û hem jî serîlêdanên bikarhêner dikarin werin bikar anîn de têne danîn. Hemî ajokar li cîhê bikarhêner di hawîrdorên sandboxê yên veqetandî de dimeşin. Ji bo lihevhatina bi serîlêdanên heyî re, qatek taybetî ya POSIX tê peyda kirin, ku dihêle hûn gelek bernameyan bêyî barkirinê bimeşînin.

Pergal prensîba "her tişt URLek e" bikar tîne. Mînakî, URL "log: //" dikare ji bo têketinê, "bus: //" ji bo danûstendina di navbera pêvajoyan de, "tcp://" ji bo danûstendina torê, hwd. Modulên ku dikarin di forma ajoker, dirêjkirina kernel û serîlêdanên bikarhêner de bêne bicîh kirin, dikarin rêvebirên URL-ya xwe tomar bikin, mînakî, hûn dikarin modulek gihîştina porta I/O binivîsin û wê bi URL-ya "port_io:/ ", piştî ku hûn dikarin wê bikar bînin da ku bi vekirina URL-ya "port_io://60" bigihîjin porta 60.

Jîngeha bikarhêner li Redox-ê li ser bingeha şêlê grafîkî ya Orbital-ê hatî çêkirin (ne ku bi şêlek Orbital-a din a ku Qt û Wayland bikar tîne neyê tevlihev kirin) û amûra OrbTk, ku API-yek mîna Flutter, React û Redux peyda dike. Netsurf wekî gerokek webê tê bikar anîn. Di heman demê de proje rêveberê pakêtê yê xwe, komek karûbarên standard (binutils, coreutils, netutils, extrautils), şêlê fermana ion, pirtûkxaneya standard C relibc, edîtorê nivîsê ya mîna vim-a sodyûm, stûnek torê û pelek pêşve dike. sîstem. Veavakirin bi zimanê Toml hatiye danîn.

Source: opennet.ru

Add a comment