Redox OS 0.7 آپریٹنگ سسٹم کی ریلیز، جو 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.

Redox OS 0.7 آپریٹنگ سسٹم کی ریلیز، جو Rust زبان میں لکھی گئی ہے۔

آپریٹنگ سسٹم یونکس کے فلسفے کے مطابق تیار کیا گیا ہے اور SeL4، Minix اور Plan 9 سے کچھ آئیڈیاز مستعار لیتا ہے۔ Redox ایک microkernel کا تصور استعمال کرتا ہے، جس میں صرف عمل اور وسائل کے انتظام کے درمیان تعامل کرنل کی سطح پر فراہم کیا جاتا ہے، اور دیگر تمام فعالیت لائبریریوں میں رکھی گئی ہے جو کرنل اور صارف ایپلیکیشنز دونوں استعمال کی جا سکتی ہے۔ تمام ڈرائیور الگ تھلگ سینڈ باکس ماحول میں صارف کی جگہ پر چلتے ہیں۔ موجودہ ایپلی کیشنز کے ساتھ مطابقت کے لیے، ایک خصوصی POSIX تہہ فراہم کی گئی ہے، جس کی مدد سے آپ بہت سے پروگراموں کو بغیر پورٹنگ کے چلا سکتے ہیں۔

سسٹم "ہر چیز ایک URL ہے" کے اصول کو استعمال کرتا ہے۔ مثال کے طور پر، URL "log://" لاگنگ کے لیے، "bus://" کو عمل کے درمیان تعامل کے لیے، "tcp://" نیٹ ورک کے تعامل کے لیے استعمال کیا جا سکتا ہے، وغیرہ۔ ماڈیولز، جو ڈرائیورز، کرنل ایکسٹینشنز، اور یوزر ایپلی کیشنز کی شکل میں لاگو کیے جاسکتے ہیں، اپنے یو آر ایل ہینڈلرز کو رجسٹر کرسکتے ہیں، مثال کے طور پر، آپ ایک I/O پورٹ ایکسیس ماڈیول لکھ سکتے ہیں اور اسے URL "port_io:// سے باندھ سکتے ہیں۔ "، جس کے بعد آپ اسے یو آر ایل "port_io://60" کھول کر پورٹ 60 تک رسائی کے لیے استعمال کر سکتے ہیں۔

ریڈوکس میں صارف کا ماحول Orbital کے اپنے گرافیکل شیل کی بنیاد پر بنایا گیا ہے (کسی دوسرے اوربیٹل شیل کے ساتھ الجھن میں نہ پڑیں جو Qt اور Wayland استعمال کرتا ہے) اور OrbTk ٹول کٹ، جو کہ Flutter، React اور Redux جیسا API فراہم کرتا ہے۔ نیٹ سرف کو ویب براؤزر کے طور پر استعمال کیا جاتا ہے۔ یہ پروجیکٹ اپنا پیکیج مینیجر بھی تیار کر رہا ہے، معیاری یوٹیلیٹیز کا ایک سیٹ (binutils، coreutils، netutils، extrautils)، ion کمانڈ شیل، معیاری C لائبریری relibc، vim جیسا ٹیکسٹ ایڈیٹر سوڈیم، ایک نیٹ ورک اسٹیک اور ایک فائل۔ نظام ترتیب Toml زبان میں ترتیب دی گئی ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں