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

Pondělí, 11 Listopad 2024 - 14:07 | Ladis | 90 % ale není "zaručené" a máš problémy...
Pondělí, 11 Listopad 2024 - 13:39 | super master | zasadni vyhoda Rustu je pametova bezpecnost...
Sobota, 9 Listopad 2024 - 14:37 | Ladis | To je ta 10% menšina z linuxové 2-4% menšiny?
Sobota, 9 Listopad 2024 - 13:22 | RedHawk | ani omylom. stale sysVinit, runinit a samozrejme...
Sobota, 9 Listopad 2024 - 13:21 | RedHawk | 2x viac s polovicou chyb je to iste v pocte chyb...
Sobota, 9 Listopad 2024 - 13:01 | melkor | >> byť někoho zcela jiného Z cizího krev...
Pátek, 8 Listopad 2024 - 22:28 | ventYl | Pri Wayland-oidnej architekture to v podstate...
Pátek, 8 Listopad 2024 - 19:58 | Jack FX | Efektivitu runtime dneska nikdo neřeší, teda...
Pátek, 8 Listopad 2024 - 19:19 | mixal 11 | V pripade rustu je to skor, ze cas o 50% dlhsi...
Pátek, 8 Listopad 2024 - 19:02 | Lazar | Není psaní kódu "jednorázovým" nákladem...

Zobrazit diskusi