Издање Редок ОС 0.7 оперативног система написаног у Русту

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

Издање Редок ОС 0.7 оперативног система написаног у Русту

Оперативни систем је развијен у складу са Уник филозофијом и позајмљује неке идеје из СеЛ4, Миник-а и Плана 9. Редок користи концепт микрокернела, у коме је обезбеђена само интеракција између процеса и управљања ресурсима на нивоу кернела, а све остале функционалност је смештена у библиотеке које се могу користити и за језгро и за корисничке апликације. Сви драјвери се покрећу у корисничком простору у изолованим окружењима сандбок-а. За компатибилност са постојећим апликацијама, обезбеђен је посебан ПОСИКС слој, који вам омогућава да покренете многе програме без портирања.

Систем користи принцип „све је УРЛ“. На пример, УРЛ „лог://“ се може користити за евидентирање, „бус://“ за интеракцију између процеса, „тцп://“ за мрежну интеракцију итд. Модули, који се могу имплементирати у облику драјвера, екстензија кернела и корисничких апликација, могу регистровати сопствене УРЛ руковаоце, на пример, можете написати модул за приступ улазно/излазним портовима и повезати га са УРЛ-ом "порт_ио:// ", након чега га можете користити за приступ порту 60 тако што ћете отворити УРЛ "порт_ио://60".

Корисничко окружење у Редок-у је изграђено на основу Орбитал-ове сопствене графичке љуске (не треба је мешати са другом Орбитал-овом љуском која користи Кт и Ваиланд) и ОрбТк комплета алата, који обезбеђује АПИ сличан Флуттер, Реацт и Редук. Нетсурф се користи као веб претраживач. Пројекат такође развија сопствени менаџер пакета, скуп стандардних услужних програма (бинутилс, цореутилс, нетутилс, ектраутилс), ион командну шкољку, стандардну Ц библиотеку релибц, вим сличан уређивач текста натријум, мрежни стек и фајл система. Конфигурација је постављена на Томл језику.

Извор: опеннет.ру

Додај коментар