Diit.cz - Novinky a informace o hardware, software a internetu

Redox OS bootuje na RISC-V a Raspberry Pi 4

Zdroj: Shutterstock

Redox OS je mikrokernelový operační systém inspirovaný systémy jako Plan 9, Minix, seL4, BSD či Linux. Na rozdíl od nich (a většiny ostatních) ale není psán v C, C++ či jiných variantách starého dobrého céčka, ale v programovacím jazyce Rust.

Rust je relativně mladý programovací jazyk. Graydon Hoare, tehdejší zaměstnanec Mozilly, na něm začal ve svém volném čase pracovat v roce 2006 s cílem vytvořit výkonný, typově bezpečný a k out-of-order běhu uzpůsobený jazyk, který by ale ke svému běhu nepotřeboval tradiční garbage collector. Syntaxí je jazyk podobný již zmiňovanému C či C++, leč nápady si bere spíše z jiných jazyků, například z OCamlu, v němž byl na začátku i implementován, Erlangu, Newsqueaku a dalších.

V roce 2009 se do projektu zapojila přímo Mozilla a s cílem použít ho pro tvorbu bezpečného prohlížečového jádra zasponzorovala vývoj. Během tří let tak vznikla úplně první veřejná verze 0.1, která postupným rozvojem došla za další tři roky až k verzi 1.0. Mozilla v Rustu začala tvořit experimentální prohlížečové jádro Servo, jehož části nakonec byly v roce 2020 zahrnuty do jádra Gecko, které najdeme ve Firefoxu. Ačkoliv Mozilla nakonec dala od Serva ruce pryč, pracuje se na něm dále v rámci Linux Foundation a Rust se také stal prvním jazykem kromě C/C++, který je použit při vývoji samotného jádra.

Systém, o němž bude řeč na následujících řádcích, ale s Linuxem kromě základních principů fungování odvozených od Unixu nemá nic společného. Redox OS je o od nuly napsaný systém, který spatřil světlo světa v podobné době jako jedničkový Rust. Cílem je především ukázat, že Rust se hodí k programování opravdu čehokoliv, tedy i mikrokernelu, správce paměti, ovladačů, grafického prostředí a tedy vlastně všeho, co operační systém k běhu potřebuje.

Zdroj: DIIT

Redox OS je modulární, jeho jednotlivé komponenty jsou samostatné balíčky a některé z nich nejsou pro jeho běh povinné. Jedním takovým je například i grafické rozhraní Orbital, které není kompatibilní s tradičním unixovým X Window Systemem, i zde jde o vlastní vývoj kombinující display server, kompozitor a okenního správce v jednom. Výhodou je, že grafické programy psané pro jiné systémy v Rustu, zde běží přímo, nevýhodou je, že vše ostatní se musí portovat. Protože psát úplně vše od začátku by také mohlo snadno odsunout použitelnost systému na neurčito (významně hledím směrem třeba k ReactOS), přistoupili tvůrci Redox OS k použití software z jiných systémů, výchozím webovým prohlížečem je tak široce multiplatformní NetSurf, a do desktopového prostředí byla letos portována celá řada programů ze sady COSMIC z linuxové distribuce Pop!_OS.

Vývoj systému aktivně probíhá a každý měsíc vychází souhrn souhrn novinek. V říjnu se například Redox OS poprvé podařilo rozeběhat na architektuře RISC-V, byť zatím pouze v emulátoru QEMU. Co se reálného hardware týká, tak systém úspěšně nabootoval na Raspberry Pi 4 a to až do přihlašovací obrazovky. Přihlásit se zatím není jak, práce na ovladači USB jsou teprve v běhu, takže klávesnice a myš nefungují. Mezi aplikacemi ze sady COSMIC přibyl COSMIC store, z nějž je možné snadno instalovat další programy pro toto prostředí.

Z letmého testu ve virtuálním stroji se zdá, že jde o opravdu rychlý systém - boot na běžném ryzenovém notebooku netrvá od načtení bootsektoru po přihlašovací okno déle než patnáct sekund. Jedná se ale také o systém ne úplně stabilní - samozřejmě to může být mojí konkrétní konfigurací QEMU, ale pádů jsem za hodinu viděl víc, než v sedmé třídě na lyžařském výcviku za celý týden. Je nicméně obdivuhodné jak celkově necelá stovka přispěvatelů zvládla vytvořit perspektivně se rozvíjející systém, který navíc vzhledem k použitému programovacímu jazyku musel hned na začátku řešit spoustu věcí nově a z ničeho.

Martin "logout" Kukač

Většinu dne trávím tím, že přeměňuju kofein na kód. Když s tím skončím a ještě není čas jít spát, tak zbylý čas nerovnoměrně dělím mezi rodinu, sbírku počítačového harampádí, vysílání na volně přístupných pásmech a geocaching.

Blog

více článků, blogů a informací o autorovi

Diskuse ke článku Redox OS bootuje na RISC-V a Raspberry Pi 4

Pátek, 8 Listopad 2024 - 18:20 | Arctia | Obavam se, ze peklo pro uzivatele je prave ten...
Pátek, 8 Listopad 2024 - 17:57 | Jack FX | Efektivita Rustu nespočívá v rychlosti výsledného...
Pátek, 8 Listopad 2024 - 16:27 | Ladis | Žiješ v minulosti. Wayland, systemd, ...
Pátek, 8 Listopad 2024 - 16:14 | Dizz | nevim zda to chapu dobre "kombinující...
Pátek, 8 Listopad 2024 - 16:06 | Karáš Svorka | A kdyby místo Rustu použili HolyC, tak je ten...

Zobrazit diskusi