RustのRedoxOSは、Linuxにいくつかの新しいトリックを示す可能性があります

MozillaのRust言語は、完全なオペレーティングシステムを含む、さまざまな種類のソフトウェアを迅速かつ安全に作成するためのオプションとして、その設計者によって考案されました。

過去数か月にわたって、開発者のチームはまさにそれを行うことに忙しくしていました。Rustを使用して、Linuxアプローチの根本的な再考として設計された本格的なUnixライクなオペレーティングシステムであるRedoxを作成しました。

きれいなスレート

Redoxは、カーネルレベルのコードにRustを使用して、Cがデフォルトで許可するよりも多くのメモリ安全性の考慮事項を提供します。しかし、このプロジェクトは単にLinuxを新しい言語に書き直すだけではありません。Redoxは、LinuxバージョンのUnixの伝統から、維持されている限り多くを破棄します。

プロジェクトのウィキと設計ドキュメントで説明されているように、Redoxは最小限のシステムコールセットを使用します。これは、レガシーの肥大化を回避するために、Linuxがサポートするものよりも意図的に小さいサブセットです。また、OSは、Linuxのモノリシックカーネルとは対照的に、マイクロカーネル設計を使用してスリムな状態を維持しています。

OSの内部動作の多くも再考されました。UnixとLinuxはどちらも、すべてのアイテムの概念をファイルとして使用します。Redoxはさらに一歩進んで、すべてをURLのように扱うため、イベントのハンドラーを登録するのは簡単で、他の種類の抽象化を実行するための一貫した方法を提供します。

//github.com/redox-os/redox

ただし、計画はLinuxに取って代わるものではなく、Linuxソフトウェアをそのまま実行できる便利な代替手段を提供することです。すでにいくつかのヒントがあります。多くの一般的なUnix(したがってLinux)コマンドがサポートされており、ZFSファイルシステムの進行中のポートがあります。

Linuxからのもう1つの根本的なブレークは、ソフトウェアではなくライセンスにあります。プロジェクト全体がMITライセンスであり、GPLではありません。MITライセンスは、「ダウンストリームが本当に重要であるため、ユーザーベース、コミュニティ、可用性」という理由で、GPLよりもはるかに簡単にダウンストリームの採用を促進します。

長い道のり

RedoxのISOをダウンロードして起動することはできますが、Linux forRedoxを本番環境ですぐに廃止する可能性はほとんどありません。

一つには、レドックスはテストされておらず、多くの不足している機能と非常に多くの不完全な機能があります。Redoxの開発者は、「完全な1:1 Posix互換性」を確立することは不可能であることも認めています(OSが多くのUnixシステムコールを省略しているため)。したがって、既存のLinuxソフトウェアを実行するには、おそらくRedoxにサポートレイヤーが必要です。その採用。

Linuxのレガシーコードベースも簡単に肩をすくめることはありません。数十年の開発と数千人年の作業が、C言語の開発環境に投資されてきました。対照的に、Rust言語は数年前から存在しており、ごく最近になって、ほとんどの人がRustを使用して大規模で野心的なプロジェクトを構築するのに十分な安定状態に達しました。

それでも、レドックスのようなプロジェクトは価値があります。Redoxが設計により安全であるという約束を果たすことができれば、現在Linuxが対象としている組み込みデバイスのシナリオの多くは、Redoxの方が適している可能性があります。Mozillaはすでにモノのインターネットデバイスの言語としてRustについて話しているので、これは自然な拡張です。

レドックスは、オペレーティングシステムの問題に異なる方法でアプローチするための例としても役立ち、Linuxに長期的な進化の圧力をかけます。Linuxがどこにも行かない場合(すべての兆候はそうではないことを示しています)、Linuxをより良くする方法を見つけるのが最善です。