HN 日本語サマリー

← 一覧へ戻る
プログラミング

一人の男、二つのカーネル、そして多くのRISC-V

One man, two kernels, and a lot of RISC-V (theregister.com)

81 pointsby LorenDB6 コメント

要約

ユーリ・ザポロジェッツ氏が、RISC-Vベースの自作PC「GateMate Personal Computer」、FPGA上のミニメインフレーム「System/359」、そしてQNXの2度の移植と大幅な書き換えを含む、驚くべき一連のプロジェクトに取り組んできました。彼の最新のOSであるQSOEは、Skimmerという自作マイクロカーネルとseL4の両方で動作するように設計されており、真にオープンソースのOSへの道を切り開いています。

全文翻訳

ソフトウェア 一人の男、二つのカーネル、そして多くのRISC-V ユーリ・ザポロジェッツ氏の最新オペレーティングシステムでは、自作PCとミニメインフレームは単なるウォーミングアップに過ぎませんでした。 リアム・プロベン リアム・プロベン 2026年6月26日(金)14:46 UTC公開 QRV Systemsのユーリ・ザポロジェッツ氏は多忙な人物です。彼は新しいRISC-Vベースのパーソナルコンピュータ、FPGA上のメインフレームを構築し、QNXを二度書き直しました。 毎月か隔月ごとに、The Reg FOSSデスクには、彼が稼働させたばかりの驚くべきプロジェクトについての電子メールが届きます。彼の最新プロジェクトであるQSOEという新しいOSが、現在FOSSの世界で注目を集めていることを喜んで見ています。 しかしその前に、彼がどのようにしてここにたどり着いたか、彼の以前のプロジェクトのいくつかについて、より完全な話をすることから始めたいと思います。REG AD (免責事項として、彼がAnthropicのClaude LLMを支援に利用していることを前もって述べておくべきだと感じています。彼の功績として、彼はこのことを明確に述べています。) REG AD GateMateパーソナルコンピュータ 2025年末、ザポロジェッツ氏は私たちに彼のGateMateパーソナルコンピュータについて知らせるために書きました。GateMate PCは、1980年代後半のかなりハイエンドなIBM PC互換機に似ていますが、286や386 CPUの代わりに、25MHzのRISC-Vコアを搭載しています。 彼はGateMate PCの主なインスピレーションについて語りました。「私が人生で初めて見たコンピュータ:1992年のIBM PS/2 Model 30です。これもテキストモードで起動しました。」私たちはそれらのいくつかで作業しましたが、それらは優れたマシンではありませんでした。GateMateマシンは、後のより高速なModel 30-286を簡単に上回るはずです。彼はまた、別のプロジェクトについても認めています。「Stefan NoltingによるNeoRV32 softCPUは素晴らしいです。」 VGAポートがあり、かつてハイカラーと呼ばれた80x30文字のテキストを出力できます。8KBのROMにはBIOSが含まれ、まだ初期段階ではありますが、彼がGMDOSと呼ぶ独自のOSがあります。文字はUCS-2 Unicodeを使用したダブルバイト文字です。GateMateはその名前をホストハードウェアから取っています。なぜなら、そのデザインはほとんどソフトウェアだからです。安価なFPGAボード、50ユーロのOlimex GateMate A1-EVB(約42ポンドまたは57ドル)に実装されています。そのビデオコントローラーはオリジナルデザインで、彼は追加のRAMを追加しました。このマシンは、QSPIインターフェースを介して2つのチップに8MBの追加PSRAMを搭載しています。 彼は、昨年8月にボードを受け取ってから、PLLを機能させ、ビデオを出力するまでのプロジェクトについてブログに書きました。 しかし、Olimex GateMateボードはもっと多くのことができます。それが彼の次のプロジェクトへとつながります。 GateMate System/359 REG AD 同じFPGAボードに実装されているのは、ザポロジェッツ氏のミニチュアメインフレームであるSystem/359です。これは、異なるコンピュータがソフトウェア互換であるというアイデアを導入したIBM System/360メインフレームシリーズのクローンではありません。むしろそのオマージュです。まず、S/359はリトルエンディアンマシンですが、S/390はビッグエンディアンです。 したがって、メインフレームアーキテクチャとはバイナリ互換ではありませんが、似ています。彼は1月にプロジェクトを開始し、その月の後半に、そのアセンブラについて書いた際に次のように述べています。「GMS/359はS/360の美しい部分、つまりチャネルI/Oモデル、クリーンな命令フォーマット、PSWの概念を維持しつつ、残りの部分を静かに近代化しています。リトルエンディアンバイト。オペコード優先エンコーディング。PC相対アドレッシング。ベースレジスタの調整はもうありません。'/359'はタイプミスではありません。それは宣言です。インスパイアされたものであり、互換性があるわけではありません。」 ザポロジェッツ氏はThe Registerに次のように語りました。「強力なマクロプロセッサ(NASMから)を備えたアセンブラが動作しています。私は1999年から2004年までNASMのコントリビューターであり、そのRDOFF2部分を保守していました。現在、RDOFF2はNASM 3.0から削除されましたが、私のasm359プロジェクトで生き続けています。」 「現在、プロセッサはシンプルなIPLを実行できます。チャネルI/Oコントローラーが動作しています(PS/2キーボード、UART、SYSINFO、さらには暗号プロセッサ(!))。PSRAMモジュールが完成したら、SYS1.NUCLEUSの作業を開始します。」 したがって、RISC-VやFPGAだけでなく、彼は低レベルのシステム設計にも精通していると考えることができます。彼の次のプロジェクトは、多くの人々が賞賛するOSであるQNXでした。 QNX 6.4のRISC-Vへの移植 ザポロジェッツ氏はこれについて3月に私たちに書きましたが、Redditの投稿でも公開しました。QNX 6.4カーネルがRISC-Vに移植されました。BlackBerryに古いQNXソースをApache 2.0の下で再ライセンスするよう請願します。 QNXはFOSSとの間で、関係が良好な時期とそうでない時期を繰り返してきました。QNXは1980年代から存在しており、2024年にQNX 8を非商用フリーウェアにした際に報じました。その記事で、QNXが2007年に古いバージョンのソースコードを公開したことについて言及しました。当時、QNXはセルフホスティングであり、独自のデスクトップ環境を持っていました。2013年の非Linux PC OSのまとめ記事で、Neutrino GUIのスクリーンショットを紹介しましたし、GUIdebookにはスクリーンショットギャラリー全体があります。REG AD 翌年、そのQNX 6.4のソースコードはSourceForgeからGitHubにミラーリングされ、今もそこにあります。ザポロジェッツ氏は、この長く時代遅れになったコードベースをRISC-Vに移植し、自身のFU740「ワークステーション」をターゲットにしました。OS全体ではなく、「カーネル、プロセスマネージャー、Cライブラリ、ランタイムリンカー」だけです。そしてライセンスは非常に厳しく、研究とコンパイルはできますが、再配布はできません。 彼は2020年のクリスマスにこの作業を開始しました。「タイミングは特定の方法で理にかなっていました。RISC-Vは成熟していました。ツールチェーンは安定していました。オリジナルのQNXソースは32ビットILP32で、x86、ARM、MIPS、SH、PPCをターゲットにしていました。64ビットへの移植は存在せず、ましてやRISC-Vはありませんでした。LP64への移行とアーキテクチャの移植を一度に行うことは、長い休日のロックダウンが誘うような、大規模で困難だが満足のいくプロジェクトだと感じました。」 しかし、最初の努力の後、それは5年間停滞しました。彼がそれに立ち戻ったとき、彼は大幅な書き換えを行うことになりました。彼はその結果をQRVと呼んでいます。 3月、彼はブログ記事「QRV Operating System: First Publication」でこれについて説明しました。彼が言うには、「明確にするために:QRVはオリジナルのQNXソースへのパッチではありません。それは、32ビットILP32コードベースを、RISC-V用の64ビットLP64システムに、意図的な簡素化を加えて根本的に作り直したものです。」4月末までに、QRV v0.27はマルチユーザーログインまで起動できるようになりました。1か月後、彼はバージョン0.43でプロジェクトの完了を宣言しました。「これがQRVの最後の開発投稿です。このプロジェクトは、QNX Neutrino 6.4をRISC-V 64ビットに移植し、実ハードウェアで実行し、クリーンなマイクロカーネルアーキテクチャを現代のオープンISAにもたらすために何が必要かを探索することを目指しました。これらの目標は達成されました。v0.43が最終リリースです。」詳細な情報 開発者、先延ばしにする人、メディア管理者のための3つのFOSSプロジェクト FOSS開発者がLLVMを使用してBASICコンパイラを構築 CollaboraがCODE 26.04をリリースし、FOSSクラウドオフィススイート間の競争が激化 Alpine Linux 3.24がCOSMICで新たなデスクトップの高さに到達 次は何ですか?さて、QNXカーネルは真にオープンソースではないので、唯一の進むべき道は、真にFOSSである別のカーネルに切り替えることです。さて、「1つ」と言いましたが… ¿Por qué no los dos? QSOE – Quick and Secure Operating Environment その結果がQSOEです。「QSOEは、1つのユーザー空間と1つのビルドシステムを共有する2つのバリアントで提供されます。QSOE/Nは、このプロジェクトのためにゼロから書かれたマイクロカーネルであるSkimmer(設計上SMP)上で動作し、QSOE/LはseL4をカーネルとして実行します。」 The Registerが2014年に報じたように、Secure Embedded L4は形式的に検証されたマイクロカーネルOSです。私たちは以前にもseL4を使用する他のOSについて書いてきました。2022年には、seL4、ReactOS、Wineの組み合わせである新しいNeptune OSプロジェクトについて説明しました。その後、2025年には、seL4をCベースのGloireとAdaレイヤーと組み合わせたIroncladについて取り上げました。 seL4を中心に構築することには非常に重要な前例がありますが、QSOEはそれだけにとどまりません。QSOEには、マルチプロセッサマシン用に設計された、Skimmerと呼ばれる独自の自作カーネルもあります。ザポロジェッツ氏は長い間この分野で働いてきました。QSOEサイトでは、2003年にQNXのような無料のオペレーティングシステムを構築しようとした彼の努力について言及しています。それはまだオンラインで、RadiOSと呼ばれています。How QSOE startedでは、そのインスピレーションについて説明しています。BlackBerryへの請願が成功しなかった場合の、代替オプション、プランBとしてです。私たちは共感します。QNX 8について書いたとき、私たちは会社から何も有用な回答を得られませんでした。