
2026/06/27 1:20
1 人、2 コア、そして多くの RISC-V
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Q RV システムズの上級者であるユーリ・ザポロジェーツは、閉鎖ソースの技術を安価で真にオープンな代替案で置き換えるというミッションによって駆られています。BlackBerry からのプロプライエタリー QNX コードを Apache 2.0 ライセンス下で法的に再ライセンス化する事に失敗した後、彼は NASM というレガシーツールの維持(1999–2004 年に寄与し、NASM 3.0 で取り止められる前に RDOFF2 コンポーネントを維持した)から自由なオペレーティングシステム(QSOE など)の作成や、コードの自由を保証するために QRV や seL4 などのカーネルのリライトへと転換しました。ザポロジェーツは最初に FU740 ワークステーション向けに QNX 6.4 (ILP32) を RISC-V へ移植しましたが、5 年間の停滞の後、それを 64 ビット LP64 システムとしての QRV v0.27 にリライティングしました。プロジェクトは v0.43 で終結し、これは元の QNX ソースの地獄からのやり直しを表しています。オープンな利用可能性を確保するために、彼は Apache 2.0 のもとで QSOE (Quick and Secure Operating Environment) を開発し、GitLab にソースコードを提供しています。QSOE は、SMP マシン向けに彼の独自マイクロカーネル Skimmer を搭載した QSOE/N、そして形式的に検証された seL4 カーネルを搭載した QSOE/L という 2 つの変種で出荷され、共有されるのはユーザスペースのみです。彼の活動はソフトウェアのみならずハードウェアにも及びます:2025 年末に彼は GateMate PC をリリースし、これは安価な€50 の Olimex GateMate A1-EVB FPGA ボード上使用する 25 MHz RISC-V コアを持つ、RISC-V ベースのコンピュータです。GateMate は Hi-Color VGA アウトプット、8 KB ROM BIOS、8 MB PSRAM、UCS-2 キーを使用する初期段階の OS GMDOS を特徴としています。その設計はより高性能なハードウェアを備えているにも関わらずソフトウェア実装されており、それは IBM の System/360 への献辞としての miniature mainframe Tribute システム/359 へと発展しました。これはリトルエンドリアンアーキテクチャを実行し、動作する NASM 由来のアセンブラと強力なマクロプロセッサを搭載しています。ザポロジェーツはまた、彼のプロジェクトの説明で述べられている通り、Anthropic の Claude LLM を開発を支援するために使用しました。彼の長期的なビジョンには、2003 年に開始された自由な QNX 様 OS の構築を目指す RadiOS という試みがあり、これは QNX ソースの再ライセンス化への請願が失敗したという Plan B として位置づけられています。全体として、彼のイニシアチブはプロプライエタリーソースが成功裏に自由なソフトウェアに変換できることを示しており、ベンダーロックインや prohibitive cost をなしにした検証可能なセキュリティとマイクロカーネルオプションを提供します。
本文
ユーリ・ザポロージェツ:RISC-V と FPGA を駆使して果敢に挑むシステムエンジニア
The Register の FOSS(フreesoftware)デスク宛てに、驚くべき新規プロジェクトが次々と舞い込んでいる人物がいる。QRV システムズのユーリ・ザポロージェツ氏だ。彼は忙しいだけでなく、RISC-V ベースのパーソナルコンピュータや FPGA を搭載したメインフレームの構築など、数ヶ月おきに新たな挑戦を成功させている。
彼が現在注目を集めている最新プロジェクトは「QSOE」という新オペレーティングシステムだが、その歩みは単なる幸運ではなく、一筋縄ではいかない困難な物語を含んでいる。なお、氏は Anthropic の Claude などの大規模言語モデル(LLM)を活用している事実を明瞭かつ誠実に公言しており、その誇りある態度は評価に値する。
🖥️ GateMate:1980 年代の雰囲気、RISC-V の力
2025 年末、ザポロージェツ氏は私たちに「GateMate パーソナルコンピュータ」の開発を紹介した。
設計コンセプトと特徴
- 外観: 高機能な1980 年代後半の IBM PC 互換機に類似するデザインを採用している。
- CPU: 当時の CPU(286 や 386)ではなく、**RISC-V コア(25MHz)**を採用している。
- インスピレーション源は、氏が人生で最初に目にした「1992 年の IBM PS/2 モデル 30」。
- このマシンは後の PS/2-286 を凌駕する性能を持つと期待されている。
- NeoRV32 ソフトウェア CPUを素晴らしい作品として称賛している(開発者:ステファン・ノルティング氏)。
ハードウェア仕様の詳細
- ディスプレイ: VGA ポートを備え、80x30 文字の表示が可能。
- ROM: BIOS を含む8KB の ROM。
- OS: 初期段階だが独自の OS **「GMDOS」**を内蔵している。
- テキスト表示用はUCS-2(ユニコード)二バイト形式を採用。
「GateMate」の構造
- 基盤: EOL(終売) Olimex GateMate A1-EVBという安価な FPGA ボードを使用(約 42 ポンド / 57 ドル相当)。
- マシンの設計はほぼソフトウェア依存であり、ハードウェア自体が名前由来。
- 拡張性:
- オリジナルのビデオコントローラを採用し、RAM を追加。
- QSPI インターフェース経由で、2 チップ分の合計8MB の追加 PSRAMを備えている。
- 開発経緯:
- 昨年 8 月にボードを受け取り、PLL の動作確認からビデオ出力の実現までをブログで順次記録している。
🕰️ システム/359:メインフレームへのオマージュ
同じ FPGA ボード上で動作するミニチュア・メインフレームプロジェクトが「システム/359(GMS/359)」。これは IBM の System/360 シリーズのコピーではなく、その精神的な供え物だ。
アーキテクチャの革新
- エンディアン性:
- S/359 はリトルエンディアンだが、S/390 はビッグエンディアンのため、バイナリ互換性はない。
- ただし、アーキテクチャ的な類似性は強い(「着想を得たが、互換性はない」)。
- 近代化された設計:
- チャンネル I/O モデルやクリーンな命令フォーマット、PSW コンセプトといった美質を保持しつつ、基盤部分を刷新。
- リトルエンディアンのバイト順序を採用。
- オペコード優先エンコーディングを導入。
- PC 相対アドレシングを実装。
- ベースレジスタのこねくり返しを不要化。
アセンブラと周辺機器
- アセンブラ:
- 「POWERFUL マクロプロセッサ付き」の動作可能なアセンブラを利用(NASM 系)。
- 氏は 1999〜2004 年の NASM 貢献者であり、RDOFF2 パーティを維持していた。
- 現在の実現機能:
- プロセッサによる単純な IPL(初期化)実行。
- チャンネル I/O コントローラー動作(PS/2 キーボード、UART、SYSINFO、暗号化プロセッサまで対応)。
- 次期目標はSYS1.NUCLEUSへの着手。
このプロジェクトから、氏は RISC-V や FPGA の他にも、低レベルのシステム設計に深い知識を有していることがわかる。次なるターゲットはオペレーティングシステム『QNX』であった。
🚀 QNX 6.4 を RISC-V へ:移植と書き換え
ザポロージェツ氏は今年 3 月、QNX 6.4 カーネルの RISC-V 向け移植プロジェクトを発表した(Reddit でも公開)。
プロジェクトの背景
- ライセンス状況:
- QNX とフリーソフトウェアコミュニティの関係は断続的。
- ソースコードは 2007 年に公開され、翌年には SourceForge から GitHub にミラーリングされているが、再頒布は制限的。研究・コンパイルは可能だが、配布には制約あり。
- 移植戦略:
- 旧 QNX ソースを丸ごと使うのではなく、「カーネル」「プロセスマネージャ」「C ライブラリ」「ランタイムリンカ」のみを抽出して移植。
「QRV」という名の誕生
- 停滞と再挑戦:
- 移植作業は初期実施後、5 年間停滞していた。
- 再度手をつけた際に大規模な書き換えが必要となり、結果として**「QRV」**という名称に落ち着いた。
- 本質的な変化:
- QRV は元 QNX ソースへのパッチではなく、32 ビット(ILP32)コードベースを基から完全に書き直し、RISC-V 向けの64 ビット(LP64)システムとして再構築したものである。
- 意図的な簡素化が施されている。
開発の軌跡と完成
- v0.27(3 月~4 月末): マルチユーザーログイン機能を実装し起動可能に。
- v0.43(1 ヶ月後): **「開発終了宣言」**が出た。
- 達成目標:QNX Neutrino 6.4 を RISC-V 64 ビットへ移植し、実 Hardware で動作させること、クリーンなマイクロカーネルアーキテクチャを現代的なオープン ISA に導入すること。
🔮 そして先:QSOE の登場
QNX カーネルは真の意味でのオープンソースではないため、今後の発展としては別のカーネルへの切り替えが必要となる。そこで氏は「一つ」ではなく**「二つのバリエーション」**を提供する新しい OS を生み出した。
QSOE ~クイックでセキュアなオペレーティング環境~
QSOE は共通のユーザースペースとビルドシステムを共有しつつ、以下 2 つの実装をサポートする。
| バリエーション | カーネル | 特徴 |
|---|---|---|
| QSOE/N | Skimmer(ゼロから書かれたマイクロカーネル) | 設計上当初からSMP(同時マルチプロセッシング)対応。 |
| QSOE/L | seL4 | 形式検証済みのマイクロカーネルオペレーティングシステムを採用。 |
seL4 と Skimmer
- seL4:
- 2014 年に The Register が取り上げた、形式検証済みマイクロカーネル OS。
- 過去に Nepture OS(seL4 + ReactOS + Wine)や Ironclad(C ベースの Gloire + seL4 + Ada レイヤー)などで実績あり。
- Skimmer:
- ザポロージェツ氏が長年取り組んできた独自マイクロカーネル。
- マルチプロセッサマシンを想定して設計されており、2003 年のフリーな QNX 風 OS(「RadiOS」と呼ばれるもの)の開発経験とも通じる。
なぜ新しい道を選んだのか
- BlackBerry への要請が成功しなかった場合の**「フェールオーバーオプション(プラン B)**として QSOE を構築した。
- QNX 8 への期待にも有用な回答は得られなかったため、過去 20 年(ChatGPT の登場以前)から培ったアイデアを基に、GateMate PC やミニ・メインフレームの経験も含めて**「すべてをやり直す」**決意で新たなプロジェクトを開始した。
現在の状況
- QSOE バージョン 0.1: リリース済み。
- ライセンス:Apache 2.0。
- ソースコード:GitLabに公開中。
- 新しい開発ブログも始まっている。