Wydano wydanie systemu operacyjnego Redox 0.8, stworzonego przy użyciu języka Rust i koncepcji mikrojądra. Postępy projektu są udostępniane na zasadach licencji MIT. Do testowania Redox OS oferowane są wersje demonstracyjne o rozmiarze 768 MB, a także obrazy z podstawowym środowiskiem graficznym (256 MB) oraz narzędziami konsolowymi dla systemów serwerowych (256 MB). Wersje te są tworzone dla architektury x86_64 i są dostępne dla systemów z UEFI oraz BIOS. Obraz demonstracyjny, oprócz środowiska graficznego Orbital, obejmuje emulator DOSBox, zestaw gier (DOOM, Neverball, Neverputt, sopwith, syobonaction), programy edukacyjne, odtwarzacz muzyczny rodioplay oraz edytor tekstu Sodium.
System operacyjny rozwija się zgodnie z filozofią Unix i czerpie niektóre pomysły z SeL4, Minix i Plan 9. Redox wykorzystuje koncepcję mikrojądra, w którym na poziomie jądra zapewnione jest jedynie zarządzanie interakcjami między procesami oraz zasobami, podczas gdy cała pozostała funkcjonalność została przeniesiona do bibliotek, które mogą być używane zarówno przez jądro, jak i aplikacje użytkownika. Wszystkie sterowniki działają w przestrzeni użytkownika w izolowanych środowiskach sandbox. W celu zapewnienia zgodności z istniejącymi aplikacjami dostępna jest specjalna warstwa POSIX, umożliwiająca uruchamianie wielu programów bez konieczności ich portowania.
W systemie stosuje się zasadę «wszystko jest URL». Na przykład, do zapisywania w logu można używać URL «log://», do interakcji między procesami «bus://», do komunikacji sieciowej «tcp://» itp. Moduły, które mogą być realizowane w formie sterowników, rozszerzeń jądra i aplikacji użytkowych, mogą rejestrować swoje obsługiwacze URL, na przykład można napisać moduł do obsługi portów wejścia/wyjścia i powiązać go z URL «port_io://», po czym można go użyć do dostępu do portu 60 poprzez otwarcie URL «port_io://60».
Środowisko użytkownika w Redox zbudowane jest na bazie własnej powłoki graficznej Orbital (nie mylić z inną powłoką Orbital, która używa Qt i Wayland) oraz toolkit’a OrbTk, który oferuje API podobne do Flutter, React i Redux. Jako przeglądarka internetowa stosowany jest Netsurf. Projekt rozwija również własny menedżer pakietów, zestaw standardowych narzędzi (binutils, coreutils, netutils, extrautils), powłokę komend ion, standardową bibliotekę C relibc, edytor tekstu podobny do vim sodium, stos sieciowy oraz system plików. Konfiguracja jest określana w języku Toml.
W nowym wydaniu kontynuowana jest praca nad zapewnieniem działania na rzeczywistym sprzęcie. Oprócz architektury x86_64 dodano możliwość pracy na 32-bitowych systemach x86 (i686, Pentium II i nowsze). Trwa portowanie na CPU ARM64 (aarch64). Praca na rzeczywistym sprzęcie ARM nie jest jeszcze wspierana, ale możliwe jest ładowanie przy emulacji ARM64 w QEMU. Domyślnie aktywowany jest system dźwiękowy oraz zapewnione wstępne wsparcie dla konfiguracji z wieloma monitorami (na systemach z ramką UEFI). Z wymienionych w Redox OS urządzeń, wspierane są chipy dźwiękowe AC’97 i Intel HD Audio, wyjście grafiki przez API VESA BIOS lub UEFI GOP, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), urządzenia wejściowe (klawiatury, myszki, touchpady), SATA (AHCI, IDE) oraz NVMe. Wsparcie Wi-Fi i USB nie jest jeszcze gotowe (USB działa tylko w QEMU).
Inne nowości:
- Połączono obrazy rozruchowe dla systemów z BIOS-em i EFI.
- Implementacja wywołań systemowych clone i exec została przeniesiona do przestrzeni użytkownika.
- Uproszczono proces ładowania. Wprowadzono program bootstrap, uruchamiany przez jądro, zapewniający dalsze ładowanie plików ELF, takich jak proces init.
- Dodano program escalated w celu zapewnienia działania programów setuid, takich jak sudo.
- W celu uproszczenia tworzenia i instalacji procesów w tle zaproponowano pakiet crate redox-daemon.
- Przerobiono system budowy, który stał się zdolny do kompilacji dla różnych architektur w jednym drzewie źródłowym. W celu uproszczenia budowy różnych konfiguracji zaproponowano skrypt build.sh. Dodano wsparcie dla budowy z użyciem narzędzi podman. Budowa jądra, bootloadera i initfs została zunifikowana z innymi pakietami.
- Dodano demonstracyjną konfigurację do kompilacji programów przykładowych, które nie wchodzą w skład podstawowego obrazu rozruchowego z graficznym interfejsem.
- Dodano wsparcie dla programowego zarządzania głośnością do systemu dźwiękowego audiod.
- Dodano sterownik dla chipów dźwiękowych na bazie AC’97. Ulepszono sterownik dla chipów Intel HD Audio.
- Dodano sterownik dla kontrolerów IDE.
- Udoskonalono wsparcie dla dysków NVMe.
- Ulepszono sterowniki PCI, PS/2, RTL8168, USB HID, VESA.
- Przekształcono organizację procesu instalacji: bootloader, bootstrap, jądro i initfs są teraz umieszczane w katalogu /boot.
- Uproszczono pracę z pamięcią w jądrze, dodano możliwość manipulacji przestrzeniami adresowymi z poziomu użytkownika.
- W graficznym interfejsie O rbital dodano wsparcie dla systemów wielomonitorowych, poprawiono obsługę kursora myszy oraz dodano wskaźnik do zmiany głośności. W menu wprowadzono możliwość podziału aplikacji według kategorii.
Źródło: opennet.ru
