NoWayOS
JA
GitHub
メニュー閉じる

2026年11月13日

コピーではなかったバックアップ

アポロ11号は、別々の原理で作られた二つの誘導システムを載せて飛び、その両方を必要としました。アリアン5は同一のシステムを二つ載せて飛び、ひとつの障害が両方を止めました。この違いには名前があり、NoWayOSは、その正しい側に立てるように作られています。

バックアップを持つべきだということは、誰でも知っています。けれども、その次の気まずい質問をする人は多くありません。それは、正確には何のバックアップなのか、という質問です。

五回のアラーム

1969年7月20日、アポロ11号の月着陸船が月面まであと数分というとき、誘導コンピュータがアラームを出しました。乗組員が管制センターに問い合わせなければならないものでした。続いて、もう一回。降下の最後の区間で、合わせて五回です。

コンピュータは過負荷に陥っていました。そこでコンピュータがしたことは、この物語の中でも屈指の工学的成果です。毎回、再起動し、後回しにできる仕事を捨て、後回しにできない仕事をすぐに引き継ぎました。着陸は続けられました。

ここまでは、誰もが語る部分です。次に語る価値のある出来事は、その翌日に起きました。

二つ目のシステム

月着陸船は二つ目の誘導システムを載せていました。そしてそれは、一つ目の予備のコピーではありませんでした。別の会社が、別の原理で作ったものです。主系は、ジンバルの上で自由に回るプラットフォームによって姿勢の基準を保っていました。二つ目にはジンバルがまったくありませんでした。センサーは機体に直接固定されていて、どちらが上かを計算で求めていました。

その役目は、主系が止まった場合に乗組員を軌道へ連れ戻すことでした。着陸のあいだ、出番はありませんでした。

そして、司令船とドッキングするために上昇して戻る途中、一連の操作によって、主系のプラットフォームは、ジンバル式のプラットフォームが対処できない唯一の姿勢に入り、姿勢の基準を失いました。乗組員は機体を安定させるために二つ目のシステムに切り替え、ドッキングしました。

二つ目のシステムが同じように故障することは、あり得ませんでした。その部品を持っていなかったからです。

同じものが二つ

次は、もう一つの物語です。1996年、アリアン5の初号機は、自分の向きを知るための慣性基準装置を二台載せて離昇しました。一台は稼働中、一台は待機中です。二台は、ソフトウェアに至るまで同一でした。

三十七秒後、そのソフトウェアの中のある数値が、割り当てられた領域に収まらないほど大きくなりました。待機中の装置が止まりました。同じ飛行で同じコードを動かしていた稼働中の装置も、同じように止まりました。調査委員会の報告書は公開されており、率直に述べています。切り替える先はありませんでした。バックアップがすでに同じ道をたどっていたからです。

二つのコピー。ひとつの障害。何も残りませんでした。

技術者はこれを何と呼ぶか

システムとその予備を一緒に止めてしまう障害を、共通原因故障と呼びます。それに対する備えが多様性冗長です。一つ目を止めるものが二つ目には入っていないほどに、違う作りにした二つ目のシステムのことです。

スペースシャトルは、この方法で飛んでいました。フライトコンピュータのうち4台は、ある会社のソフトウェアを動かしていました。5台目は、別の会社が別個に書いたソフトウェアを動かしていました。4つのコピーは、壊れるコンピュータには備えになります。間違っているプログラムには備えになりません。4台すべてが、それを動かしているからです。

ただでは手に入りません。シャトルの最初の打ち上げは、5台目のコンピュータとほかの4台が時刻について一致できず、中止されました。二つの設計は一つよりも手間がかかり、しかも両者をかみ合わせなければなりません。

NoWayOSの出番

現在、専用デバイスの大半は、ごく少数の汎用オペレーティングシステムのどれかで動いています。そのバックアップも同じです。ブラウザエンジンやデスクトップ、数千万行のカーネルに欠陥が見つかったとき、あるいは不具合のあるアップデートが配信されたとき、その影響は、そのソフトウェアが動いているあらゆる場所に、同じ日に現れます。

NoWayOSのデバイスは、中身が違います。カーネルはseL4で、約10,000行です。その上にある私たちのコードは、すべてRustで書かれています。ブラウザエンジンも、デスクトップも、シェルもないので、それらのどれかにある欠陥は、このデバイスにはありません。

つまりNoWayOSは、いまお使いのものを置き換えなくても役に立てます。その隣に立つことができます。欠かせないひとつの仕事をこなす、別の原理で作られた二つ目の方法としてです。

できないこと

多様性には限界があります。それは、私たちの口からお伝えしておきたいことです。

多様性がNoWayOSのデバイスに与えるのは、別の障害であって、障害がないことではありません。二つのシステムが共有するものには、何の効果もありません。電源、ネットワーク、その先のサービス、あるいは、その仕事が本来何であるべきだったかについての誤りです。そして、NoWayOSのオープンソースの部品の一部は、ほかのソフトウェアでも使われています。だからこそ、すべてのイメージは含まれるコンポーネントをすべて記載し、隣のシステムと何を共有しているかを読んで確かめられるようにしています。

NoWayOSは開発中です。ですからこれは、NoWayOSがそのために設計されている役割であって、すでに果たした役割ではありません。その土台は、セキュリティのページに書いてあります。

アポロの技術者たちが二つ目のシステムを載せたのは、一つ目が故障すると予想したからではありません。故障しないと証明できなかったからです。そして、一つ目を止めるものが、二つ目の中に見覚えのあるものを何ひとつ見つけられないようにしました。