宇宙プログラミングネタ

ちなみに猫が 宇宙プログラミングネタで好きなのはコレ。

火星でいったい何が起きたのか?

火星探査機 Mars Path Finder は OS に VxWorks を使っているのですが、スケジューリングにおいて出てくる priority inversion (優先度逆転) 現象が原因で、システムが再起動してしまうというトラブルに見舞われました。それを 解決し、火星上でソフトウェアを書き換えると言う サイエンスドラマのようなお話です。組み込みプログラマな私には燃える話ですよ!

詳細は参照元をクリック! ・・・なのですが、私の印象に残るのがここ。

> なぜ打ちあげ前にわからなかったのか?
>
> この問題は ASI/MET データが収集されている最中で、中間的なタスクに
> 非常な負荷がかかっているときでなければ現れなかった。ぼくたちの
> 打ちあげ事前テストでは、データ転送速度とサイエンス活動は「最適な場合」のみに
> 制限していた。火星地表からのデータ転送速度は予期されていたよりも速く、
> サイエンス活動の量はそれに比例して大きくなっていたことが問題を悪化させた。
> ぼくたちは「それまで想像していたのよりもいい」場合については
> 予期していなかったし、テストもしていなかったのだ。

火星でいったい何が起きたのか?

「想像してたのよりいい」場合は予期していない って、本当にそうだよね〜、と凄く納得してしまいました。「いいんだからいいじゃん」で思考停止になってしまいがちです。