FAQ

Na tej stronie znajdują się pytania/odpowiedzi dla nowicjuszy i użytkowników końcowych.

Co to jest Redox?

Redox to system operacyjny oparty na mikrojądrze, kompletny, w pełni funkcjonalny system operacyjny ogólnego przeznaczenia, skupiający się na bezpieczeństwie, wolności, niezawodności, poprawności i pragmatyzmie.

Tam, gdzie to możliwe, komponenty systemu są pisane w języku Rust i uruchamiane w przestrzeni użytkownika.

Aktualny stan

Redox to oprogramowanie o jakości alfa/beta, ponieważ wdrażamy nowe funkcje i naprawiamy błędy.

Dlatego nie jest jeszcze gotowy do codziennego użytku, możesz przetestować system do jego dojrzałości i nie przechowuj wrażliwych danych bez odpowiedniej kopii zapasowej.

Wersja 1.0 zostanie wydana, gdy wszystkie API systemu zostaną uznane za stabilne.

Co znaczy Redox?

Redox ito reakcja chemiczna (redukcja-utlenianie), w wyniku której powstaje rdza, ponieważ Redox jest systemem operacyjnym napisanym w języku Rust, ma to sens.

To też brzmi jak Minix/Linux.

Jakie funkcje ma Redox?

Microkernel benefits

Prawdziwa modułowość

Możesz modyfikować/zmieniać wiele komponentów systemu bez ponownego uruchamiania systemu.livepatching.

Izolacja błędów

Większość komponentów systemu działa w przestrzeni użytkownika w systemie mikrojądra, błąd w komponencie innym niż jądro nie spowoduje awarii systemu/jądra. Wiecej infromacji: crash the system/kernel.

No-reboot design

W dobrze zaprojektowanych i napisanych Microkernelach naprawianie błędów wystepuje bardzo rzadko, więc nie będziesz musiał zbyt często restartować systemu, aby go zaktualizować.

Ponieważ większość komponentów systemu znajduje się w przestrzeni użytkownika, można je wymieniać na bieżąco (co skraca czas przestoju administratorów serwerów).

Łatwy w rozwoju i debugowaniu

Większość komponentów systemu działa w przestrzeni użytkownika, co upraszcza testowanie/debugowanie.

Rust benefits

Mniej prawdopodobne, że będą zawierały błędy

Restrykcyjna składnia jezyka Rust i sugestie kompilatora znacznie zmniejszają prawdopodobieństwo wystąpienia błędów.

Nie ma potrzeby stosowania zabezpieczeń przed exploitami C/C++

Konstrukcja mikrojądra napisana w Rust chroni przed defektami pamięci C/C++.

Izolując komponenty systemu od jądra, powierzchnia ataku jest bardzo ograniczona.

Większe bezpieczeństwo i niezawodność bez znaczącego wpływu na wydajność

Ponieważ jądro jest małe, zużywa mniej pamięci do wykonywania swojej pracy, a ograniczony rozmiar kodu jądra pomaga utrzymać status prawie wolny od błędów (Zasada KISS).

Bezpieczny i szybki projekt języka Rusta, w połączeniu z małym rozmiarem kodu jądra, pomaga zapewnić niezawodny, wydajny i łatwy w utrzymaniu rdzeń systemu.

Bezpieczeństwo wątków

Obsługa bezpieczeństwa wątków w języku C/C++ jest dość delikatna i bardzo łatwo jest napisać program, który wygląda na bezpieczny do działania w wielu wątkach, ale który wprowadza subtelne błędy lub luki w zabezpieczeniach. Jeśli jeden wątek uzyskuje dostęp do fragmentu stanu w tym samym czasie, gdy inny wątek go zmienia, w całym programie mogą pojawić się naprawdę mylące i dziwaczne błędy.

Ale w Rust tego rodzaju błędów można łatwo uniknąć, ten sam system typów, który powstrzymuje nas przed zapisywaniem zagrożeń w pamięci, uniemożliwia nam zapisywanie niebezpiecznych wzorców współbieżnego dostępu

Sterowniki pisane w Rust

Sterowniki pisane w Rust zawieraja mniej błedów ze względu na rygorystyczne sprawdzanie typów i wycieków pamięci juz w trakcie kompilacji co zwieksza prawdopodobieństwo mniejszej ilości możliwych błedów w samym kodzie i dlatego są bezpieczniejsze w użytkowaniu.

System plików inspirowany ZFS

Redox używa RedoxFS jako domyślnego systemu plików, obsługuje podobne funkcje jak ZFS z implementacją napisaną w Rust.

Oczekuj wysokiej wydajności i bezpieczeństwa danych jak (kopiowanie przy zapisie, integralność danych, woluminy, migawki, zabezpieczenie przed utratą danych itd.).

Jaki jest cel Redox?

Głównym celem Redox jest bycie systemem operacyjnym ogólnego przeznaczenia, przy jednoczesnym zachowaniu bezpieczeństwa, niezawodności i poprawności.

Redox ma być alternatywą dla istniejących systemów uniksowych (Linux/BSD), z możliwością uruchamiania większości programów uniksowych jedynie po rekompilacji lub minimalnych modyfikacjach.

Co mogę zrobić z Redox?

Jako system operacyjny ogólnego przeznaczenia będziesz w stanie wykonać prawie każde zadanie na większości urządzeń przy wysokiej wydajności/bezpieczeństwie.

Redox jest wciąż w fazie rozwoju, więc lista obsługiwanych aplikacji jest obecnie ograniczona, ale stale dodajemy nowe aplikacje i ich lista stale rośnie.

Co to jest system operacyjny typu Unix?

Dowolny system operacyjny zgodny ze Single Unix Specification i POSIX, oczekuj shell, “koncepcja wszytsko jest plikiem” , wielozadaniowość i wielu użytkowników.

Unix był bardzo wpływowym systemem wielozadaniowym i miał wpływ na wybory projektowe większości nowoczesnych systemów.

Jak Redox inspiruje się innymi systemami?

Plan 9

Ten system operacyjny Bell Labs przenosi koncepcję „wszystko jest plikiem” na najwyższy poziom, realizując całą komunikację systemową z systemu plików.

Minix

Najbardziej wpływowy system uniksowy z mikrojądrem, posiadający zaawansowane funkcje, takie jak modułowość systemu, kernel panic rodporność, reinkarnacja sterowników, ochrona przed złymi sterownikami i bezpieczeństwo interfejsy do komunikacji procesowej.

Redox jest w dużej mierze inspirowany Minixem, ma podobną architekturę i zestaw funkcji napisany w Rust.

seL4

Najszybszy i najprostszy mikrokernel na świecie, ma na celu wydajność i prostotę.

Redox kieruje się tą samą zasadą, starając się maksymalnie zmniejszyć przestrzeń jądra (przenosząc komponenty do przestrzeni użytkownika i zmniejszając liczbę wywołań systemowych, przekazując złożoność do przestrzeni użytkownika) i utrzymując dobrą wydajność.

BSD

Ta rodzina Uniksa zawierała kilka ulepszeń systemów uniksowych, a warianty BSD o otwartym kodzie źródłowym, które dodały wiele ulepszeń do oryginalnego systemu (podobnie jak Linux).

FreeBSD jest najbardziej godnym uwagi przykładem, z którego Redox czerpał inspirację Capsicum (system oparty na możliwościach) i jails (technologia sandbox) do implementacji przestrzeni nazw.

Linux

Najbardziej zaawansowane monolityczne jądro i największy na świecie projekt open source, wprowadziło kilka ulepszeń i optymalizacji do świata Uniksa.

Redox próbuje wdrożyć ulepszenia wydajności Linuksa w projekcie mikrojądra.

Co to jest microkernel?

Mikrojądro to niemal minimalna ilość oprogramowania, która może zapewnić mechanizmy potrzebne do wdrożenia systemu operacyjnego działającego na najwyższych uprawnieniach procesora.

Takie podejście do projektowania systemu operacyjnego zapewnia większą stabilność i bezpieczeństwo przy niewielkim koszcie wydajności.

Jakie programy może uruchomić Redox?

Redox został zaprojektowany tak, aby był kompatybilny ze źródłami z większości aplikacji zgodnych z Unixem, Linuxem i POSIX, wymagając jedynie kompilacji.

Obecnie większość aplikacji GUI wymaga przeniesienia, ponieważ nie obsługujemy jeszcze X11 ani Wayland.

Niektóre ważne oprogramowanie obsługiwane przez Redox:

Możesz zobaczyć wszystkie przeniesione programy/komponenty do Redox tutaj.

Jak zainstalować programy na Redox?

Redox ma menedżera pakietów podobnego do apt (Debian) i pkg (FreeBSD), możesz zobaczyć, jak go używać na tej stronie:

Jakie są warianty Redox?

Redox OS ma kilka wariantów dla różnych zastosowań, pełna lista zastosowań i wersji poniżej:

Które urządzenia obsługuje Redox?

Na świecie istnieją miliardy urządzeń z setkami modeli/architektur, staramy się pisać sterowniki dla najczęściej używanych urządzeń, aby obsługiwać więcej osób, niektóre sterowniki są specyficzne dla urządzenia, a inne są specyficzne dla architektury.

Zajrzyj do HARDWARE.md aby zobaczyć wszystkie przetestowane komputery.

CPU

Hardware Interfaces

(USB wkrótce)

Video

(Intel/AMD oraz inne wkrótce)

Dzwięk

(Sound Blaster wkrótce)

Storage

(USB wkrótce)

Wejście

(USB wkrótce)

Internet

(Wi-Fi/Atheros ethernet wkrótce)

Mam komputer z niższej półki czy Redox będzie na nim działał?

Procesor komputera to najbardziej złożona maszyna na świecie, nawet najstarsze procesory są w stanie wykonać niektóre zawansowana obliczenia ale zależy to też od konkretnego zadania.

Głównym problemem starych komputerów jest ilość dostępnej pamięci RAM (sprzedawane były w czasach, gdy kości RAM były drogie) i brak rozszerzeń SSE/AVX (programy wykorzystują je do przyspieszania algorytmów), przez co niektóre nowoczesne programy mogą nie działać lub wymagają dużej ilości pamięci RAM do wykonywania złożonych zadań.

Redox będzie działał normalnie (jeśli system obsługuje architekturę procesora), ale konieczne będzie przetestowanie każdego programu.

Z jakimi maszynami wirtualnymi Redox ma integrację?

W przyszłości mikrokernel mógłby pełnić funkcję hypervisora, podobnie jak Xen.

A hypervisor to oprogramowanie umożliwiające jednoczesne uruchomienie wielu izolowanych instancji systemu operacyjnego.

Jak skompilować Redox OS?

Obecnie Redox posiada skrypt startowy dla Pop OS!, Ubuntu, Debian, Fedora, Arch Linux, openSUSE i FreeBSD z nieutrzymywaną obsługą innych dystrybucji.

Oferujemy również Podman jako naszą uniwersalną metodę kompilacji. Jest to zalecany proces kompilacji dla systemów innych niż Debian, ponieważ pozwala uniknąć problemów środowiskowych w procesie kompilacji.

Jak uruchomić QEMU bez GUI

Uruchom:

Jak rozwiązywać problemy z kompilacją w przypadku błędów

Przeczytaj stronę lub dołącz do nas na Redox Chat.

Jak zgłaszać błędy w Redox

Najpierw sprawdź Problemy na GitLabie, aby sprawdzić, czy Twój problem jest już znany.

Jak mogę przyczynić się do rozwoju projektu Redox?

Możesz przyczynić się na wiele sposobów do rozwoju Redox OS, wiecej informacji CONTRIBUTING.

Mam problem/pytanie do zespołu Redox