Rust-da yazılmış Redox OS 0.7 əməliyyat sisteminin buraxılışı

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

Rust-da yazılmış Redox OS 0.7 əməliyyat sisteminin buraxılışı

Əməliyyat sistemi Unix fəlsəfəsinə uyğun olaraq işlənib hazırlanmışdır və bəzi ideyaları SeL4, Minix və Plan 9-dan götürür. Redoks nüvə səviyyəsində yalnız proseslər və resursların idarə edilməsi arasında qarşılıqlı əlaqənin təmin edildiyi mikrokernel konsepsiyasından istifadə edir və bütün digər funksionallıq həm nüvədən, həm də istifadəçi proqramlarından istifadə edilə bilən kitabxanalara yerləşdirilir. Bütün sürücülər təcrid olunmuş sandbox mühitlərində istifadəçi məkanında işləyir. Mövcud proqramlarla uyğunluq üçün xüsusi POSIX təbəqəsi təmin edilir ki, bu da bir çox proqramı daşımadan işə salmağa imkan verir.

Sistem “hər şey URL-dir” prinsipindən istifadə edir. Məsələn, “log://” URL-i giriş üçün, “avtobus://” proseslər arasında qarşılıqlı əlaqə üçün, “tcp://” şəbəkə qarşılıqlı əlaqəsi üçün və s. Sürücülər, nüvə genişləndirmələri və istifadəçi proqramları şəklində həyata keçirilə bilən modullar öz URL işləyicilərini qeydiyyatdan keçirə bilər, məsələn, siz I/O portuna giriş modulu yazıb onu "port_io://" URL-inə bağlaya bilərsiniz. ", bundan sonra siz "port_io://60" URL-ni açaraq 60-cı porta daxil olmaq üçün istifadə edə bilərsiniz.

Redox-da istifadəçi mühiti Orbital-ın öz qrafik qabığı (Qt və Wayland istifadə edən başqa Orbital qabıq ilə qarışdırılmamalıdır) və Flutter, React və Redux-a bənzər API təmin edən OrbTk alətlər dəsti əsasında qurulub. Netsurf veb brauzer kimi istifadə olunur. Layihə həmçinin özünün paket meneceri, standart utilitlər dəsti (binutils, coreutils, netutils, extrautils), ion əmr qabığı, standart C kitabxanası relibc, vim kimi mətn redaktoru natrium, şəbəkə yığını və fayl hazırlayır. sistemi. Konfiqurasiya Toml dilində qurulub.

Mənbə: opennet.ru

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