Te tukunga o te punaha whakahaere Redox OS 0.7 kua tuhia ki 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.

Te tukunga o te punaha whakahaere Redox OS 0.7 kua tuhia ki Rust

Ka whanake te punaha whakahaere i runga i te kaupapa whakaaro a Unix me te tono i etahi whakaaro mai i a SeL4, Minix me te Mahere 9. Ka whakamahia e Redox te ariā microkernel, ko te whakawhitiwhiti korero i waenga i nga tukanga me te whakahaere rauemi ka tukuna ki te taumata kernel, ka whakauruhia nga mahi katoa. i roto i nga whare pukapuka ka taea te whakamahi i te kernel me nga tono kaiwhakamahi. Ka rere nga taraiwa katoa i roto i te waahi kaiwhakamahi i roto i nga taiao pouaka kirikiri taratahi. Mo te hototahi ki nga tono o naianei, ka whakaratohia he paparanga POSIX motuhake e taea ai te maha o nga papatono ki te rere me te kore tauranga.

Ka whakamahia e te punaha te kaupapa "he URL nga mea katoa". Hei tauira, ko te URL "log: //" ka taea te whakamahi mo te takiuru, "pahi: //" mo te whakawhitiwhiti i waenga i nga tukanga, "tcp://" mo te whakawhitinga whatunga, me etahi atu. Ko nga waahanga, ka taea te whakatinana hei taraiwa, toronga kernel, me nga tono ritenga, ka taea te rehita i o raatau ake kaihautu URL, hei tauira, ka taea e koe te tuhi i tetahi waahanga whakauru I/O ka herea ki te "port_io://" URL, muri iho ka taea e koe te whakamahi ki te uru ki te tauranga 60 ma te whakatuwhera i te URL "port_io://60".

Ko te taiao kaiwhakamahi i Redox he mea hanga huri noa i te anga kauwhata a Orbital (kaore e pohehe ki tetahi atu anga Orbital e whakamahi ana i te Qt me Wayland) me te kete taputapu OrbTk, e whakarato ana i te API rite ki a Flutter, React me Redux. Ka whakamahia a Netsurf hei kaitirotiro paetukutuku. Ka whakawhanakehia ano hoki e te kaupapa tana ake kaiwhakahaere mokihi, he huinga taputapu paerewa (binutils, coreutils, netutils, extrautils), te anga whakahau katote, te whare pukapuka C paerewa relibc, te kaiwhakatika kupu konutai vim-rite, te puranga whatunga, me te konae. pūnaha. Kua whakaritea te whirihoranga ki te reo Toml.

Source: opennet.ru

Tāpiri i te kōrero