「機能します-触らないでください」:まだ機能している古いコードとコンピューター

2年前のスマートフォンが時代遅れの技術であると思われる現代の世界では、多くの企業や国営企業が何十年も長年にわたって更新されていないプログラムを使用しているという事実は驚くべきものです。



米国政府が実施した調査によると、シークレットサービスは、前世紀の80年代に作成されたコンピューターシステムをまだ使用しています。 同様の「古い」ソリューションは、世界の多くの国でも使用されており、弾道システム、潜水艦システム、および航空機の制御に使用されています。



したがって、今日は、時間によって忘れられたが、頑固な人々によって忘れられていないコンピューターとプログラムに関するいくつかの物語を伝えたいと思います。



/ photo ジュディクライン CC



最後のモヒカン人



テキサス州コンロのスパークラーフィルターは、非常に長い間市場に出ており、フィルターデバイスを提供しています。 また、Nutscheフィルターを注文すると、1948年以降稼働していたコンピューターにトランザクションデータが入力されます。



このコンピューターはIBM 402です。 もちろん、これは伝統的な意味での正確なコンピューターではなく、80列のパンチカードから入力された値に応じて結果を印刷するようにプログラムできる自動電気機械計算機です。



前世紀の半ばに、そのようなデバイスは、企業が会計のためによく使用していました。 マシンは、数字の長いリストを取得し、それらを加算して、詳細なレポートを印刷できます。 ある意味では、これは複数キログラムのExcelスプレッドシートプロセッサです。 Sparkler Filtersが402を使用するのは、これらの目的のためです。これは、地球上で最後に完全に機能するIBM 402です。



マシンは、先頭の穴のある幅広の紙にレポートを印刷し、1927年に父がSparkler Filtersを設立したCarl Kracklauerは、パンチカードにデータを入力します。 402は使い慣れたソリューションであるため、同社は「近代的な」機器に切り替えません。 スタッフはシステムの使用方法を知っており、60年間の企業資格情報がデバイスで動作するようにフォーマットされています。



/写真サイモン・クレセン CC



Sparkler Filtersには、 パッチパネル形式のIBM 402用のプログラムが多数あります 。 40年代にプログラムを作成するには、数百本のワイヤを異なるパネルソケットに再配布する必要がありました。 この場合、パネルはソフトウェアを備えたリムーバブルディスクであるかのように交換できます。



Sparkler FiltersのIBM 402は非常に重要なコンピューター遺物であるため、コンピューター歴史博物館は会社に代表団を派遣し、従業員に最新のシステムにアップグレードして402を博物館に転送するよう説得しました。 いつか、それは「老人」の残りにとって価値のある場所になるでしょうが、これまでのところ、テキサスの会社はこのコンピューター技術恐竜の引退を延期することに決めました。



MOCASシステム



しかし、前世紀の中頃からコンピューティングシステムだけが生き続けているわけではありません。 コンピュータプログラムの中には100歳以上の人がいます。 1958年、米国国防総省はMOCASのコンピューター化された契約管理システムを立ち上げました。これは、既存の契約と支払いを監視することになっています。 そして彼女は59年後に見ています。



MOCASは、執筆時点で正式に承認されていない言語であるCOBOLで記述されています。 MOCASはもともとパンチカードで機能していましたが、過去数十年にわたって、インターフェイスが再設計されました。 最初はターミナルになりました。 それから彼はウェブシェルを手に入れました。



Webインターフェースは、多くの場合、古いシステムの時代を隠しています。 国防省は、MOCASを現代の現実で運用し続けるための新しいインターフェースを提供しました。 現在のバージョンでは、システムを他のソフトウェアパッケージと統合できます。たとえば、ユーザーはMicrosoft Word文書をレコードに添付できます。



米国防総省は、このシステムをより近代的なものに変更することを恐れています。これは、1.3兆ドルの債券と34万件の契約で機能するためです。 IBMメインフレーム上で実行され、1秒あたり3億9800万命令を処理でき、適度な8ギガバイトのRAMと多数のストレージデバイスを備えています。



ボイドだけで



1977年5月に、2つの主要な宇宙研究ミッション-Voyager-2およびVoyager-1宇宙機が打ち上げられました。 今日、両方のプローブは、人間がまだ行っていない宇宙のポイントから収集したデータを送信し続けます。 人工機械がこれまでなかった場所。



2012年8月末、Voyager 1センサーは、太陽風粒子の濃度の急激な減少を記録しました。 これは、ボイジャー1が星間空間で終わったことを意味しました。 2013年、天文学の教授であるビルウェバーは、ボイジャー1が太陽系を超えたことを公式に発表しました。



両方のVoyagerはほぼ同一であり、フライトデータ処理サブシステム、コマンド処理サブシステム、角度方向および関節ジョイントサブシステムという3つのコンピューターを使用します。 一緒になって、プローブのルートを修正し、アンテナを地球に向け、カメラなどの研究機器を制御します。 確かに、プローブは木星グループの惑星を通過するのを完了したため、カメラはオフになり、使用されませんでした。



40年後、宇宙船ソフトウェアはまだ運用中です。 VoyagersプログラムのプロジェクトマネージャーであるSuzy Dodd 氏は、このソフトウェアは飛行中に更新されたが、NASAは根本的に何も変更も削除もしなかったと述べました。



/写真ダスティライヒウェイン CC



プローブのメモリは70キロバイトしかないため、ミッションのさまざまな段階でプログラムコードを交換する必要があります。 「たとえば、これは木星の通過中に18回起こりました」 、プログラム科学者のエド・ストーンは言います。 そしてかつて、2010年に、歪んだデータが地球に届き始めました。 問題は1ビットにあり、0から1に切り替わったことが判明しました。プログラムは再起動され、現在でも動作しています。



NASAは、プローブとソフトウェアの最大寿命が1977年から2025年までの48年になると予想しています。 科学者は2020年までに一部の宇宙船システムをシャットダウンしますが、2025年に最後のメッセージを送信するまで、とにかく「地球と通信」し続けます。 この時点で、最も古いコンピュータープログラムの1つが機能しなくなります。



パブリックインプット



同様の話は、数年前に書かれた古いプログラムが積極的に使用され続けているときに、熱心な開発者の間でも見られます。 また、プログラムのユーザーベースが小さいほど、コードが「永久に」変更なしで機能する可能性が高くなるため、これは驚くことではありません。



たとえば、Hacker Newsのスレッドの1つで、開発者が独自のストーリーを共有しました。 Byuuというニックネームを持つユーザーは、smwcentral.netコミュニティ全体が2001年に書いたxkasクロスアセンブラーを使用していると言いました。



「2004年の初めにいくつかの小さなパッチを追加し、v06の最終バージョンをリリースしました」とByuu氏は言います。 -誰かが私の決定を真剣に使うことを望みませんでした。 私は自分でやったが、ネットワークに置いた。」



彼によると、これはコメントやインデントのない1,500行の長さのコードです。 ドキュメントは添付されていません。 各ユーザーは、コミュニティメンバーが「回避」することを学ぶさまざまなバグに遭遇します。 これはすべて悪循環に変わりました。すべてがxkaで書かれているため、人々はxkaを使用しました。



少し後に、愛好家は独自のバージョンのアセンブラーの作成を開始し、元のプログラムに対する明白でないソリューションに対する下位互換性を提供しました。 「多くの人々がこの間違いのサイクルで立ち往生しているという事実を非常に恥じていますが、それについては何もできません」とビュウは結論付けています。



Buro9もストーリーを共有しました。 彼によると、彼が書いた、そして今でも動作する最も古いコードは、1997年に作成されたレコーディングスタジオによる内部使用のための特定のシステムです。



「この機能またはその機能がどのように機能するかを尋ねるメールをまだ受け取っています」とburo9が言います。 「そして私にはわからない、それはPERLだった。」



もう1つのソリューションは、10年前に書かれたプロジェクト管理ソフトウェアで、英国の銀行や一部のエンジニアリング会社で使用されています。 著者によると、インターネットとの互換性はなく、更新されたこともない。 そのような組織は20年のプロジェクトを管理しているため、このプログラムは少なくとも12年は機能します。



おそらく、これが多くのシステムがまだ機能している主な理由です。 結局のところ、ソフトウェアの新しいバージョンにアップグレードしたり、プラットフォームを完全に変更したりすることは、多くの場合不可能です。手間がかかりすぎるか、逆に、努力とお金の価値がありません。



ただし、IBM 402を使用するSparkler Filtersのような単純でよく知られたルールに従う人がいます。「動作します-触らないでください」。 これにより、長年にわたって機能を失っていないすばらしい決定を観察することができます。



PSブログの興味深い資料に注目することをお勧めします。





PPS最新のダイジェストは、IaaSの使用と実用的な事例のすべてです。



All Articles