XNUMX年の開発の後、 Redox0.5オペレーティングシステムの新しいバージョンの発売が発表されましたどれ その主な焦点は、その開発がRust言語とマイクロカーネルの概念を使用していることです。
プロジェクトの進展 無料のMITライセンスの下で配布されます。 VirtualBoxまたはQEMUでテストするために、これらのそれぞれに特定のブートイメージが提供されます。
Redoxユーザー環境は、Waylandで実行されているOrbitalGUIに基づいています。 NetsurfはWebブラウザとして使用されます。
レドックスについて
オペレーティングシステム プロセスとリソース管理の間の相互作用のみがカーネルレベルで提供されるマイクロカーネルの概念を使用します 他のすべての機能は、カーネルエージェントとユーザーエージェントの両方が使用できるライブラリに引き継がれます。
すべて コントローラはサンドボックスサンドボックスのユーザースペースで実行されます。 既存のアプリケーションとの互換性のために、 移植せずに多くのプログラムを実行できるようにする特別なPOSIXレイヤーが提供されています。
レドックス はUnix哲学に従って開発されており、SeL4、Minix、およびPlan9からいくつかのアイデアを取り入れています。
システムは「すべてがURLである」という原則を使用します"
たとえば、URL「log://」は、ロギング、プロセス間の相互作用「bus://」、ネットワーク相互作用「tcp://」などに使用できます。
ドライバ、カーネル拡張、およびユーザーエージェントの形式で実装できるモジュールは、URLハンドラを登録できます。たとえば、I / Oポートにアクセスし、URL "port_io://"にバインドするモジュールを作成できます。これを使用して、URL "port_io:// 60"を開くことでポート60にアクセスできます。
プロジェクトはまた、独自のバッチマネージャーを開発しています、一連の標準ユーティリティ(binutils、coreutils、netutils、extrautils)、「ion」コマンドシェル、vodのようなナトリウムテキストエディター、ネットワークスタック、およびZFSのアイデアに基づいて開発されたTFSファイルシステム。 )。
構成はToml言語で設定されます。 システムは現在、VBE準拠のグラフィックカード(nvidia、intel、amd)、AHCIドライブ、およびE86またはRTL64チップに基づくネットワークカードを備えたx1000_8168プロセッサでの使用をサポートしています。
レドックス0.5の主なノベルティ
Redox 0.05の新しいバージョンのリリースには、Rustで記述されたRelibc標準Cライブラリ自体を最初に強調できるいくつかの革新が含まれています。
Relibcは、C標準ライブラリのポータブル実装として位置付けられており、POSIXに準拠しており、RedoxだけでなくLinuxベースのディストリビューションでも機能します。
以前はレドックスで、 Cygwinプロジェクトからのnewlibライブラリのフォーク これは標準ライブラリとして使用されていましたが、セキュリティとクロスプラットフォームの観点から開発者向けに調整されていませんでした。 開発の現段階では、Relibcはすでにnewlib機能よりはるかに優れています。
これに加えて、レドックス0.5で 新しいbootloader-corebootとbootloader-efiがcorebootとEFI用に準備されました。 それに基づいてブートイメージが形成されました。
EFIで動作するライブラリは、Rustとスタートアップコードで記述されています (corebootのペイロード)Rustで。 充電器は、レドックスとは別に、および他のプロジェクトで使用できます。
イベント管理システムは、通話の選択とポーリングを正しくサポートするように再設計されました。
この新しいバージョンの発表で強調できる他のニュースのうち、次のことがわかります。
- メモリマッピング(mmap)関数の完全なサポートが実装されました。
- Pthreadのサポートが追加され、信号処理のために追加のシステムコールが提案されました。
- LLVMサポートが改善され、rustcとMesa(c llvmpipe)のアセンブリが可能になりました。
- 新しいシステムライブラリへの移行により、多くの新しいアプリケーションのサポートが実現されました。
- 合計62の新しいパッケージが追加されました。
レドックスにインストールする場合 ライブラリで使用する準備ができているパッケージがすでにあります SDL2、ffmpeg、cairo、gstreamer、pcre、glman、libiconv、libsodium、gettext、コンパイラのセット、OpenGL実装、OpenGLアプリケーション、Vcckv Mesa、scummvmエミュレータ、ドサイトとカスタム、およびそのセット内のOpenGLアプリケーション。 Nukem 3D)、openttdおよびFreeDoom。