Rust тилинде жазылган Redox OS 0.8 операциялык системасынын релиз

Опубликован выпуск операционной системы Redox 0.8, разработанной с использованием языка Rust и концепции микроядра. Наработки проекта распространяются под свободной лицензией MIT. Для тестирования Redox OS предложены демонстрационные сборки размером 768 МБ, а также образы с базовым графическим окружением (256 МБ) и консольным инструментарием для серверных систем (256 МБ). Сборки сформированы для архитектуры x86_64 и доступны для систем с UEFI и BIOS. Демонстрационный образ кроме графического окружения Orbital включает эмулятор DOSBox, подборку игр (DOOM, Neverball, Neverputt, sopwith, syobonaction), обучающие программы, музыкальный проигрыватель rodioplay и текстовый редактор Sodium.

Операциялык система Unix философиясына ылайык өнүгүп, кээ бир идеяларды SeL4, Minix жана Plan 9дан алат. Redox микроядро концепциясын колдонот, мында процесстер менен ресурстарды башкаруунун ортосундагы байланыш гана ядро ​​деңгээлинде камсыздалат жана башка бардык функциялар жайгаштырылат. өзөк жана колдонуучу тиркемелери да колдонула турган китепканаларда. Бардык драйверлер обочолонгон кумкоргон чөйрөлөрүндө колдонуучу мейкиндигинде иштешет. Учурдагы тиркемелер менен шайкеш келүү үчүн, көптөгөн программаларды порттору жок иштетүүгө мүмкүндүк берген атайын POSIX катмары каралган.

Система "бардыгы URL" принцибин колдонот. Мисалы, URL “log://” журналга жазуу үчүн, “автобус://” процесстер аралык байланыш үчүн, “tcp://” тармактык байланыш үчүн ж.б.у.с. Драйверлер, ядро ​​кеңейтүүлөрү жана ыңгайлаштырылган тиркемелер катары ишке ашырылышы мүмкүн болгон модулдар өздөрүнүн URL иштеткичтерин каттай алышат, мисалы, сиз I/O мүмкүндүк алуу модулун жазып, аны "port_io://" URL'ине байлай аласыз, андан кийин аны URL "port_io://60" ачуу менен 60 портуна кирүү үчүн колдоно аласыз.

Redox'тун колдонуучу чөйрөсү Orbitalдын өзүнүн графикалык кабыгынын (Qt жана Wayland колдонгон башка Orbital кабыкчасы менен чаташтырбоо керек) жана Flutter, React жана Redux сыяктуу API менен камсыз кылган OrbTk инструменттеринин айланасында курулган. Netsurf интернет браузер катары колдонулат. Долбоор ошондой эле өзүнүн пакет менеджерин, стандарттык утилиталардын топтомун (binutils, coreutils, netutils, extrautils), ion командалык кабыгын, relibc стандарттык C китепканасын, натрий vim сыяктуу текст редакторун, тармактык стекти жана файлды иштеп чыгат. системасы. Конфигурация Томл тилинде коюлган.

В новом выпуске продолжена работа по обеспечению работы на реальном оборудовании. Помимо архитектуры x86_64 добавлена возможность работы на 32-разрядных системах x86 (i686, Pentium II и новее). Ведётся портирование на CPU ARM64 (aarch64). Работа на реальном ARM-оборудовании пока не поддерживается, но возможна загрузка при эмуляции ARM64 в QEMU. По умолчанию активирована звуковая подсистема и обеспечена начальная поддержка многомониторных конфигураций (на системах с фреймбуфером UEFI). Из оборудования, которое поддерживается в Redox OS, названы звуковых чипы AC’97 и Intel HD Audio, вывод графики через API VESA BIOS или UEFI GOP, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), устройства ввода (клавиатуры, мыши, тачпады), SATA (AHCI, IDE) и NVMe. Поддержка Wi-Fi и USB пока не доведена до готовности (USB работает только в QEMU).

Башка инновациялар:

  • Объединены загрузочные образы для систем с BIOS и EFI.
  • Реализация системных вызовов clone и exec перенесена в пространство пользователя.
  • Упрощён процесс загрузки. Внедрена программа bootstrap, запускаемая ядром и обеспечивающая дальнейшую загрузку ELF-файлов, таких как процесс init.
  • Добавлена программа escalated для обеспечения работы setuid-программ, таких как sudo.
  • Для упрощения создания и установки фоновых процессов предложен crate-пакет redox-daemon.
  • Переделана сборочная система, в которой появилась возможность сборки для разных архитектур в одном дереве исходных текстов. Для упрощения сборки разных конфигураций предложен скрипт build.sh. Добавлена поддержка сборки с использованием инструментария podman. Сборка ядра, загрузчика и initfs унифицирована с другими пакетами.
  • Добавлена демонстрационная конфигурация для сборки примеров программ, не входящих в базовый загрузочный образ с графическим окружением.
  • В звуковую подсистему audiod добавлена поддержка программного управления громкостью.
  • Добавлен драйвер для звуковых чипов на базе AC’97. Улучшен драйвер для чипов Intel HD Audio.
  • Добавлен драйвер для IDE-контроллеров.
  • Улучшена поддержка накопителей NVMe.
  • Улучшены драйверы PCI, PS/2, RTL8168, USB HID, VESA.
  • Переработана организация процесса установки: загрузчик, bootstrap, ядро и initfs теперь размещаются в каталоге /boot.
  • В ядре упрощена работа с памятью, добавлена возможность манипуляции с адресными пространствами из пользовательского уровня.
  • В графической оболочке Оrbital добавлена поддержка многомониторных систем, улучшена обработка курсора мыши, добавлен индикатор для изменения громкости. В меню реализована возможность разделения приложений по категориям.

Source: opennet.ru

Комментарий кошуу