無停電プログラムを接続した後、プログラムが機能しなくなります

Grounded Pointers 」という記事が公開された後、多くのコメントが寄せられました。 特に、さまざまなデバイスには、驚くほど低品質の補助ソフトウェアが付属していることが多いことが注目されました。 これは時々非常に迷惑です。 しかし、私は不平を言うつもりはありません。 このテーマについて面白い話をしたいです。







私はまだ学生であり、ある組織でプログラマーとして働いていました。 主な活動は数値モデリングです。 プログラムは、あらゆる種類のさまざまなものを計算するためのパッケージであり、受信したデータのビジュアライザーです。



今、物語自体。 私は座って静かにプログラムします。 隣の部屋の仲間の物理学者が私のところにやってくる。 同時に、彼は奇妙な表情と不審な不健康な笑顔を持っています。 彼は真面目な顔をして、「私たちの素晴らしいプログラム」ABCDは「開発者に連絡するように私に申し出ます。私はここにいます」と述べています。



一般的に、すべてはすぐに私に明らかです。 プログラムがクラッシュすると、「開発者に連絡してください」という精神でメッセージが表示されます。 私はABCDの開発者の一人だったので、彼は私の好みに来ました。 しかし、この奇妙な笑顔はどこから来たのか、そしてなぜバグトラッカーのバグだけではないのか...しかし、私はこのトピックについて特に考えず、それに対処しません。



写真はクラシックです。 秋についてのウィンドウを持つプログラム。 エカは見えない。 プログラムが5分ごとにクラッシュするとは思わないでください。 しかし、この状況に驚くことはあまり意味がありません。 私は尋ねます-「あなたは何をしましたか?」



彼は笑顔で広がり、私たちの間で次の対話が行われます。



-新しいUPSがあります(無停電電源装置を接続しました)。 これで、プログラムはもう起動しません。 起動直後にクラッシュします。



-あの 他に何をしましたか?



-何もない。



-ハハ。 ええ、もちろんです... UPSを接続する前に、UPSが機能したことを意味します。



同僚はさらに大きな笑顔になります。 見て、今私は焦点を示します。」



彼はコンピューターの電源を切ります。 テーブルに登る。 あちこち突く。 UPSからのケーブルをコンセントからだけのワイヤに変更します。 コンピューターの電源を入れます。 プログラムを起動します。 彼女は正常に動作します。



コンピューターの電源を切ります。 彼は再びテーブルの下に登ります。 UPSからのワイヤを接続します。 コンピューターの電源を入れます。 どこにも笑わず、プログラムを起動します。 プログラムは起動直後にクラッシュします!



衝撃でした。 おそらく、コンピューターテクノロジを扱う際にこれほど混乱したことはないでしょう。



もちろん、それからすべてが明らかになりました。 それについては低くなります。 そして、この動作の理由はささいなようです。



しかし、その瞬間に、コンピューター操作の原理と基本的な物理法則を理解していることを疑いました。 その瞬間のワイヤのビットの曲率についての冗談は、私にはそれほど冗談ではないように思われました。



おそらく、これは私がコンピューターから受け取った最も強い印象の1つでした。 何を比較するのかさえ分かりません。 Apogeeを実験して、BK01が手を上げるだけで制御できることを発見したとき、私は親密な気持ちを経験しました。 何にも接続されていない入力/出力ポートからノイズを読み取って処理するだけで十分です(正しく呼び出す方法を覚えていません)。



自分の気持ちを言葉で伝えることができるかどうかわかりません。 よく知っているプログラムがネットワークで実行されていて、UPSを介して動作していないことを想像してみてください。



しかし、すべてがシンプルであることが判明しました。 これは、欠陥のあるUPSか​​らの魔法による電力削減ではありませんでした。 これらはねじれたビットではありませんでした。



魔法と私の驚きの理由は、低品質のソフトウェアでした。 さらに、私の同僚は、最初は重要な詳細を1つ隠していましたが、何の意味も与えませんでした。



UPSがコンピューターに接続されているだけではありません。 それに加えて、このUPSをコンピューターに接続するためのソフトウェアとUSB配線を備えたディスクがありました。 ディスク上のプログラムを使用すると、あらゆる種類のさまざまなことができます。 たとえば、Systrayのアイコンをクリックして、バッテリーの充電を確認できます。 彼がこのプログラムをインストールしたことも重要です。 そのように。



そしてその結果は致命的でした。 Systrayにぶら下がっているこの奇跡のプログラムは、私たちのプログラムだけでなく、やがて判明したように、他の多くのアプリケーションもノックアウトしました。 彼女はどうやってこれをやったのですか? Ha、govnokoder対応であり、それではありません!



障害の原因を調査した結果、OpenGLサブシステムが動作を停止したことが明らかになりました。 しかし、私たちのプログラムがOpenGLをそれほど多く使用しているのは本当にですか? いや 他のOpenGLプログラムも故障しています。 たとえば、Quakeは動作を停止しました。 または、他の種類の「シューティングゲーム」。 まだ覚えていません はい、はい、時々仕事の後、仮想世界でお互いを殺しました。 学生。



UPSのこのGプログラムは、何らかの理由でOpenGLを使用して、充電の割合について美しい丸い図を描くために使用しました。 そして彼女はそれを不意にやった。 起動後、すぐにすべてのOpenGLリソースを消費しました。 その結果、OpenGLはこの監視プログラムのみを使用し、他のユーザーにはCookieを残しました。 そして、あなたが彼女の美しい写真を見たかどうかは関係ありません。 すべてのリソースがすでに使い果たされています。 彼女が何をしたかは、何年も前に忘れられていました。 ただし、一般的な意味は次のとおりです。 彼女はOpenGLオブジェクトを際限なく作成し、それらをリリースしませんでした。 すぐに、そのようなオブジェクトは終了しましたが、プログラムは気にしませんでした。 彼女自身はうまく働いた。 しかし、他のプログラムはそのようなオブジェクトを作成できなくなりました。 記述子の代わりに、エラーステータスを受け取りました。



UPSがオフになっているが、USB配線とプログラムが残っている場合、エラーは消えました。 おそらく、プログラムは無停電電源装置がないことを確認し、何らかの形で動作しました。 これはまさに私の同僚が私に見せたものであり、世界の現実に対する私の感覚を揺さぶりました。



その結果、プログラムのこのようなエラーをより正確に診断し、UPSの状態を視覚化する「判断の奇跡」を拒否しました。



ここにそのようなソフトウェアがあり、デバイスに加えて提供されることもあります。



All Articles