Vydání operačního systému Redox OS 0.8 napsaného v Rustu

Bylo zveřejněno vydání operačního systému Redox 0.8 vyvinutého pomocí jazyka Rust a konceptu mikrojádra. Vývoj projektu je distribuován pod bezplatnou licencí MIT. Pro testování Redox OS jsou nabízeny demo sestavy o velikosti 768 MB, dále obrazy se základním grafickým prostředím (256 MB) a konzolové nástroje pro serverové systémy (256 MB). Sestavy jsou generovány pro architekturu x86_64 a jsou k dispozici pro systémy s UEFI a BIOS. Kromě grafického prostředí Orbital obsahuje demo obrázek emulátor DOSBox, výběr her (DOOM, Neverball, Neverputt, sopwith, syobonaction), tréninkové programy, hudební přehrávač rodioplay a textový editor Sodium.

Operační systém se vyvíjí v souladu s filozofií Unixu a některé myšlenky si vypůjčuje od SeL4, Minix a Plan 9. Redox využívá koncept mikrojádra, ve kterém je na úrovni jádra zajištěna pouze komunikace mezi procesy a správa zdrojů a všechny ostatní funkce jsou umístěny v knihovnách, které lze používat jak jádro, tak uživatelské aplikace. Všechny ovladače běží v uživatelském prostoru v izolovaných prostředích sandbox. Pro kompatibilitu se stávajícími aplikacemi je k dispozici speciální vrstva POSIX, která umožňuje běh mnoha programů bez portování.

Systém uplatňuje zásadu „vše je URL“. Například URL „log://“ lze použít pro protokolování, „bus://“ pro meziprocesovou komunikaci, „tcp://“ pro síťovou komunikaci a tak dále. Moduly, které lze implementovat jako ovladače, rozšíření jádra a vlastní aplikace, mohou registrovat své vlastní obslužné rutiny URL, například můžete napsat modul pro přístup k I/O a svázat jej s adresou URL „port_io://“, poté můžete jej použít pro přístup k portu 60 otevřením adresy URL "port_io://60".

Uživatelské prostředí v Redoxu je postaveno na vlastním grafickém shellu Orbitalu (nezaměňovat s jiným Orbital shellem, který používá Qt a Wayland) a sadě nástrojů OrbTk, která poskytuje API podobné Flutter, React a Redux. Netsurf se používá jako webový prohlížeč. Projekt také vyvíjí vlastního správce balíčků, sadu standardních nástrojů (binutils, coreutils, netutils, extrautils), shell příkazů ion, standardní knihovnu C relibc, textový editor podobný sodíku vim, síťový zásobník a soubor Systém. Konfigurace je nastavena v jazyce Toml.

Nová verze pokračuje v práci na zajištění toho, aby fungovala na skutečném hardwaru. Kromě architektury x86_64 přibyla možnost pracovat na 32bitových x86 systémech (i686, Pentium II a novější). Probíhá portování na CPU ARM64 (aarch64). Spuštění na skutečném hardwaru ARM zatím není podporováno, ale načítání s emulací ARM64 v QEMU je možné. Ve výchozím nastavení je zvukový subsystém aktivován a je poskytována počáteční podpora pro konfigurace s více monitory (na systémech s framebufferem UEFI). Výbava podporovaná v OS Redox zahrnuje zvukové čipy AC'97 a Intel HD Audio, grafický výstup přes VESA BIOS nebo UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), vstupní zařízení (klávesnice, myši, touchpady) , SATA (AHCI, IDE) a NVMe. Podpora Wi-Fi a USB ještě není připravena (USB funguje pouze v QEMU).

Další inovace:

  • Spouštěcí obrazy pro systémy s BIOSem a EFI byly sloučeny.
  • Implementace systémových volání clone a exec byla přesunuta do uživatelského prostoru.
  • Proces načítání byl zjednodušen. Byl implementován bootstrap program, který spouští jádro a zajišťuje další načítání souborů ELF, jako je proces init.
  • Přidán eskalovaný program na podporu programů setuid, jako je sudo.
  • Pro zjednodušení vytváření a instalace procesů na pozadí byl navržen balíček redox-daemon crate.
  • Systém sestavení byl přepracován, což umožňuje sestavovat pro různé architektury v jednom zdrojovém stromu. Pro zjednodušení sestavování různých konfigurací je navržen skript build.sh. Přidána podpora pro stavbu pomocí sady nástrojů podman. Sestavení jádra, bootloaderu a initfs je sjednoceno s ostatními balíčky.
  • Přidána demo konfigurace pro vytváření ukázkových programů, které nejsou součástí základního spouštěcího obrazu s grafickým prostředím.
  • Do zvukového zvukového subsystému byla přidána podpora softwarového ovládání hlasitosti.
  • Přidán ovladač pro zvukové čipy založené na AC'97. Vylepšený ovladač pro čipy Intel HD Audio.
  • Přidán ovladač pro IDE řadiče.
  • Vylepšená podpora pro disky NVMe.
  • Vylepšené ovladače PCI, PS/2, RTL8168, USB HID, VESA.
  • Instalační proces byl přepracován: bootloader, bootstrap, kernel a initfs jsou nyní umístěny v adresáři /boot.
  • Jádro má zjednodušenou správu paměti a přidalo možnost manipulovat s adresními prostory z uživatelské úrovně.
  • V grafickém shellu Orbital přibyla podpora vícemonitorových systémů, vylepšeno zpracování kurzoru myši a přibyl indikátor pro změnu hlasitosti. Nabídka má možnost rozdělit aplikace do kategorií.

Zdroj: opennet.ru

Přidat komentář