HN 日本語サマリー

← 一覧へ戻る
科学・技術

Vinix – Vで書かれたモダンなオペレーティングシステム

Vinix – A modern operating system written in V (vinix-os.org)

24 pointsby hggh12 コメント

要約

Vinixは、V言語でゼロから開発された新しいオペレーティングシステムです。最小限のリソース使用量、高速な起動、systemdやテレメトリを含まない設計を特徴としています。特にApple Silicon Mac向けに最適化されており、macOSやLinuxに代わる高速でオープンソースな選択肢を目指しています。Linuxバイナリとの互換性や、開発中のApple GPUドライバーによるハードウェアアクセラレーションも提供予定です。

全文翻訳

Apple Silicon Mac QEMUはARM64デスクトップのためにmacOSのハードウェア仮想化を使用します。 brew install qemu git clone https://github.com/vlang/vinix cd vinix ./run-desktop-aarch64.sh その他のコンピューター x86_64ランチャーを使用します。利用可能な場合はKVMを使用し、それ以外の場合はQEMUエミュレーションを使用します。 git clone https://github.com/vlang/vinix cd vinix ./run-desktop-amd64.sh Vinixは最新のマシンのメモリとディスクのほんの一部しか使用しません RAM起動時 — 100 MB ディスクインストール後 — 1 GB デスクトップ起動 — 数秒 GCなし · SYSTEMDなし · テレメトリなし 速度とパフォーマンス Vinixは数秒でデスクトップを起動し、約100 MBのRAMと1 GBのディスク容量で動作します。これはシステム全体であり、切り替えるような簡易モードではありません。カーネルにはガベージコレクタがありません。これは-gc noneと手動メモリ管理でビルドされているため、システムコール、割り込みハンドラ、またはコンポジタが任意の瞬間に停止されることはありません。メモリ使用量は、マシンが稼働している間、のこぎり波状に変動するのではなく、平坦に保たれます。起動していないものは何も実行されません。systemdも、バックグラウンドインデクサーも、どこかに通信するようなものもありません。デスクトップはフレームバッファに直接描画され、ウィンドウを自分で合成するため、下にディスプレイサーバーはありません。マシンは90日目でも1日目と同じように動作します。 サンドボックス化されたアプリケーションは、自身のディレクトリの外のファイルシステムに到達できません SANDBOX (オプション) システムの残り部分 /home ~/.ssh その他のアプリ オプションのアプリごとのサンドボックス アプリケーションは、iOSでアプリが制限されるのと同じ方法で、サンドボックス内で起動できます。サンドボックス化されたプログラムは、独自のプライベートディレクトリを持ち、ファイルシステム全体でそれしか見ることができません。ドキュメント、SSHキー、他のアプリケーションのデータ、およびシステムの残りの部分は、プログラムからは見えないため、そのプログラム内のバグや悪い依存関係が、与えられていないものを読み取ることはできません。これはオプションであり、デフォルトではオフになっています。システムがあなたとあなたのコンピューターの間に壁を設けるのではなく、あなたが選択したプログラムのためにオンにするものです。サンドボックスなしで同じバイナリを実行すると、通常のファイルパーミッションを持つ他のUnixプロセスのように動作し、他に何も邪魔になりません。これは実際に役立つケース、つまりブラウザ、読み込んでいないダウンロード済みバイナリ、他の人のリポジトリからのビルドスクリプトなどを対象としています。あなた自身のツールは、現在と同じように実行され続けます。 Alpine Linuxバイナリは、Linuxシステムコールを介してVinixカーネルに直接呼び出します ALPINE AARCH64 BINARY ELF musl chromium blender VINIX KERNEL VFS SCHEDULER MEMORY DRIVERS openat mmap futex ioctl VMなし · コンテナなし · エミュレーションなし Linux syscallsおよびAlpine Linuxバイナリとの完全な互換性 VinixはLinuxディストリビューションではありません。カーネルはV言語でゼロから書かれています。しかし、Linuxプログラムは実際にはLinuxと通信するのではなく、固定された番号付きインターフェース(openat、mmap、clone、futex、および数百のその他のシステムコール)と通信します。Vinixはそのインターフェースを実装しており、さらにプログラムがエントリ時に期待するELFレイアウトとmuslの動作も実装しています。そのため、変更されていないaarch64 Alpine Linuxパッケージはここでネイティブに実行されます。Linux仮想マシン、互換性コンテナ、またはCPUエミュレーションはこのパスにはありません。バイナリはベアCPU上で実行され、そのシステムコールはVinixカーネルに着地します。pkg install chromiumは、Alpineが出荷するものと同じパッケージを取得し、起動します。これが、Chromium、GIMP、Blender、Sublime Text、Gnumeric、およびWineがすでにVinixで実行されている理由です。手動でポートされた少数ではなく、数千の既存パッケージが利用可能です。Vinixがまだ実装していないLinuxカーネル機能を必要とするアプリケーションは、まだ不足している可能性があり、それらのギャップは見つかり次第閉じられます。 Apple M1 AGX GPUドライバー、現在開発中 APPLE M1 — AGX GPU M1–M5 GPUドライバー AppleはmacOS以外ではGPUのドキュメントやドライバーを公開していないため、Macでハードウェアアクセラレーションを必要とする他のオペレーティングシステムは自分で作成する必要があります。VinixはM1から独自のドライバーを作成しています。M1では、GPU自体であるAGXと、画面を所有するディスプレイコントローラーであるDCPの2つのドライバーが必要です。どちらもAppleのメールボックスとRTKitインターフェースを介してアクセスされるコプロセッサであり、DART IOMMUがGPUのメモリビューをカーネルのものから分離しています。それらの上には、最小限のDRMサブシステムとGEMバッファオブジェクトがあり、これら2つのドライバーがフレームの割り当て、共有、および表示に必要なものだけを実装しています。その上にMesaとOpenGLがあり、アプリケーションはソフトウェアレンダリングではなく実際のアクセラレーションを得られます。これは現在進行中の作業であり、残りの多くはこれに依存しています。ハードウェアアクセラレーションされたデスクトップ、スムーズなビデオ、そして最終的にはWineを介したゲームです。M1の作業が完了した後、M2からM5が続きます。それらのGPUは十分に近いため、同じドライバーが最初からやり直すのではなく、それらをカバーするように成長します。 画面をうまく使う 余分なパディングや丸い角はありません。作業スペースが増えます。 一つのやり方 1つのディストリビューション、UI、パッケージマネージャー、initシステム、バイナリフォーマット。絶えず選択する必要はありません。そしてすべてがうまく機能します。 必要なものを変更する システムを希望どおりに動作するようにカスタマイズします。 選択可能なテーマ 多くのテーマから選択できます。macOS CatalinaやWindows XPのように見せることもできます。 リソースをほとんど使用しない 起動時に約100 MBのRAMと1 GBのディスク容量を使用します。 小さく保つ Vinixは小さくミニマルなままです。リリースごとに肥大化することはありません。 公式サポートハードウェア Vinixは当初、すべてのApple Silicon Macをサポートする予定です(2026年9月10日現在、M1 Macのみ)。2010年のMac miniまで遡るIntel Macのサポートが次です。これにより、古いMacに高速でモダンな、完全にサポートされたOSを提供できます。スタック全体が一緒にビルドされ、テストされています。ドライバーの検索や、スリープ、ウェイク、リッドクロージング、ハイバネーション、Wi-Fi、グラフィックス、オーディオ、またはLinuxのインストールがプロジェクトになりがちなその他のハードウェアの基本に関する回避策を探す必要はありません。現在、amd64マシンにVinixをインストールすることもできますが、ドライバーのサポートはあまり良くありません。VMで実行する方が良いでしょう。 macOSよりもVinixを選ぶ理由 これがVinixが存在する主な理由です。MacBook用の高速でオープンソースなミニマルオペレーティングシステムを提供することです。Appleは優れたハードウェアを構築していますが、それ専用に軽量なシステムはありませんでした。macOSはリリースごとに遅くなり、より肥大化します。購入したときは瞬時に感じられた同じMacが、数回のアップデートの後には遅くなり、システムは単一のアプリを開く前に数十ギガバイトのディスクと数ギガバイトのRAMを必要とします。リリースは不安定になり、疑問のある設計上の選択、再配置または削除される設定、誰も求めていない機能、そしてオンラインアカウントやサービスに結び付けられるシステムの増加が見られます。Vinixはその逆を行きます。約100 MBのRAMと1 GBのディスクで起動し、数秒で起動し、そのままの状態を維持します。システム全体がオープンソースなので、あらゆる部分を読み取り、変更し、自分で再構築できます。何も家に電話しません。ゲームもあります。Vinixはあなたの強力なMacをゲームマシンに変えるでしょう。Apple SiliconにはGPUがありますが、ゲームはありません。ほとんどのパブリッシャーはmacOSを完全にスキップしており、存在するポートはドロップされます。例えば、ValveはCounter-Strike 2のmacOSサポートを終了しました。Vinixは、macOSバージョンがない人気タイトル、The Witcher 3、Counter-Strike 2、Elden Ring、Grand Theft Auto V、Red Dead Redemption 2、Skyrim、Doom Eternal、Hogwarts Legacyなどをサポートする予定です。これは計画中の作業であり、今日プレイできるものではありません。これはすでにここで実行されている2つのコンポーネントに基づいています。Wine(VinixでWindowsアプリケーションを実行する)と、ARM64ハードウェアでx86-64バイナリを実行するユーザーモードx86翻訳レイヤーです。残りの部分は現在進行中のApple GPUドライバーの作業です。 LinuxよりもVinixを選ぶ理由 理由は少ないです。Linuxは良いシステムであり、あなたにとってうまく機能するのであれば、切り替える必要はありません。Vinixが提供するのはミニマリズムとsystemdのないシステムです。物事のやり方は一つです。1つのディストリビューション、1つのデスクトップ、1つのパッケージマネージャー、1つのinitシステム、1つのバイナリフォーマット。作業を開始する前に選択または設定する必要はありません。そして、新しいカーネルの魅力があります。Vinixは別の...