Po półtora roku rozwoju, ogłoszono wydanie nowej wersji systemu operacyjnego Redox 0.7, wersja, w której rozwój skupił się już na prawdziwym sprzęcie i dzięki której osiągnięto wielkie ulepszenia, między innymi ujednolicenie systemu rozruchowego, poprawę wydajności.
Dla tych, którzy nie znają Redox, powinni wiedzieć, że system operacyjny jest rozwijany zgodnie z filozofią Unix i zapożycza kilka pomysłów z SeL4, Minix i Plan 9.
Redox wykorzystuje koncepcję mikrojądra, w którym komunikacja międzyprocesowa i zarządzanie zasobami są zapewnione tylko na poziomie jądra, a cała pozostała funkcjonalność jest umieszczona w bibliotekach, które mogą być używane zarówno w jądrze, jak iw aplikacjach użytkownika.
Wszystko kontrolery działają w przestrzeni użytkownika w odizolowanych środowiskach. Aby zapewnić kompatybilność z istniejącymi aplikacjami, dostarczono specjalną warstwę POSIX, która umożliwia uruchamianie wielu programów bez przenoszenia.
System stosuje zasadę „wszystko jest adresem URL”. Na przykład adres URL „log://” może być używany do logowania, „bus://” do komunikacji między procesami, „tcp://” do komunikacji sieciowej itp. Moduły, które można zaimplementować jako sterowniki, rozszerzenia rdzenia i niestandardowe aplikacje, mogą rejestrować własne programy obsługi adresów URL; na przykład możesz napisać moduł dostępu I/O i powiązać go z adresem URL „port_io://”, po czym możesz go użyć do uzyskania dostępu do portu 60, otwierając adres URL „port_io://60”.
Główne nowości Redox 0.7
Podczas przygotowywania nowej wersji główny nacisk położono na zapewnienie pracy na prawdziwym sprzęcie, ponieważ bootloader został całkowicie przepisany, który ujednolica kod rozruchowy w systemach BIOS i UEFI i jest napisany głównie w języku Rust. Zmiana bootloadera znacznie rozszerzyła zakres obsługiwanego sprzętu.
W jądrze Oprócz poprawiania błędów, wykonano prace nad poprawą wydajności i rozszerzeniem obsługi sprzętu, zapewnione jest również odbicie (mapowanie) całej pamięci fizycznej, użycie rekurencyjnych stron pamięci jest zatrzymane, a kod asemblera we wstawkach inline został przepisany w celu poprawy zgodności z przyszłymi wersjami kompilatora.
Kod do pracy ze specyfikacją ACPI AML (ACPI Machine Language) – uefi.org został przeniesiony z jądra do procesu acpid działającego w tle w przestrzeni użytkownika.
System plików RedoxFS został przepisany i zmieniony na mechanizm CoW (Kopia na zapisie), w którym zmiany nie nadpisują informacji, są raczej zapisywane w nowej lokalizacji, co umożliwiło osiągnięcie znacznego wzrostu niezawodności. Z nowych funkcji RedoxFS, obsługa aktualizacji transakcyjnych, szyfrowanie danych z wykorzystaniem algorytmu AES oraz zabezpieczenia danych i metadanych za pomocą podpisów cyfrowych. Zapewnione jest współdzielenie kodu FS w systemie i bootloaderze.
Dalsze ulepszanie standardowej biblioteki C Relibc opracowany przez projekt, który może działać nie tylko na Redox, ale także na dystrybucjach opartych na jądrze Linux. Zmiany ułatwiły migrację kilku programów do Redox i rozwiązały problemy z wieloma programami i bibliotekami napisanymi w języku C.
A został przygotowany wersja kompilatora rustc, który może działać na Redox. Z pozostałych zadań wyróżnia się optymalizacja wydajności oraz dostosowanie menedżera pakietów obciążeń do pracy w środowisku Redox.
Z innych zmian które wyróżniają się:
- Dodano początkowe wsparcie dla architektury AArch64.
- Zmieniono, aby przetwarzać wszystkie ścieżki plików w kodowaniu UTF-8.
- Zawartość Initfs została przeniesiona do nowego pliku, co ułatwia pakowanie.
Wreszcie, Jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w następujący link.
Pobierz system operacyjny Redox
Osoby zainteresowane wypróbowaniem Redox OS powinny wiedzieć, że oferowane są obrazy instalacyjne i obrazy na żywo o rozmiarze 75 MB. Kompilacje są zbudowane dla architektury x86_64 i są dostępne dla systemów z UEFI i BIOS.
Link do pobrania jest następujący.