お正月にちなんだマンガって、ほかに何かあったかな~、ということで、選んだのがこれ。
ゲームセンターあらし
写真は数年前に出た復刻版です。
ゲームセンターあらし
作・画 すがやみつる
太田出版第1巻
2000年3月27日 印刷
2000年4月2日 第一刷発行第2巻
2000年4月25日 印刷
2000年5月1日 第一刷発行第3巻
2000年6月26日 印刷
2000年7月7日 第一刷発行第4巻
2000年7月25日 印刷
2000年8月4日 第一刷発行
第1巻収録の「超秘技 炎のコマ誕生!」にて、後世に名を残すあの有名な「炎のコマ」という必殺技があみだされます。
あらしたちが、元旦に神社へ初詣。
なぜか境内の脇には、ゲームセンターがあり、ゲーム「ギャラクシーウォーズ」で1万点出すと景品として自転車がもらえるとのこと。
さっそく、ゲームに挑戦するが、どうみてもクリアできそうもないほどにゲーム内容が難しくなっている。(なぜかそこにいた)さとるにいわせれば
このギャラクシーウォーズはにせもの!一万点とるのはぜったいに不可能なインチキマシン!
しかし、逆に、闘志が燃え上がるあらし。それにたいして、さとるの言葉。
むだだよ。テレビゲームは、中のマイコンが一秒間になん千という数のプログラムを処理している。そのスピードよりも速く手を動かさなければ、勝ちめはないっ!
この言葉と大道芸のコマ回しがヒントになり、摩擦熱で手が燃えあがるほど高速に手を動かすことで、コンピュータープログラムにあらしが勝ち、見事にゲームをクリアする
というお話です・・・
なぜ、手を速く動かすと、ゲームがクリアできるのか!?どうも原理がよくわかりません・・・しかし、ひらめきました。これは、ありえない話ではないと。
ようするに、炎のコマが発動している状況というのは、コンピュータの処理能力以上に、データ入力が発生している状況です。そういう状況に対して、コンピュータはどういう対処をするでしょうか?プログラムの設計方法として、2通りあるでしょう。
1.何の対処もしない。定期的にデータをポーリングするだけで、ポーリングしなかったときに入ったデータは、すべて破棄される。ようするに、「見なかったことにする」。プログラムが操作レバーの動きを読み取る速度以上で操作レバーを動かしたとしても、読み取られなかった操作はすべて無視される。
プログラムの作り方としては、これがいちばん簡単です。
2.絶対にデータの取りこぼしをしないように、入力データのサンプリングレートを十分高めに確保し、バッファリング処理も行う。たとえば、ゲームの操作レバーを読み取る処理に、専用プロセッサを割り当てて、高速にデータ読み取りを可能にし、読み込んだデータはメモリに格納。そのメモリは、メインのプロセッサとの間で共有する。
仕組みが複雑になってくるので、設計が難しくなってきます。
方法1の場合、ようするにプログラムの側では、何の対応もしないわけですから、あらしが、高速にゲームコンソールの操作レバーを動かしたとしても、データが読み取られなかった期間の入力操作は、すべて無視されるわけです。マンガにあるような現象は発生しません。プログラムが誤動作することは、まずないでしょう。あらしの特訓は、無駄な努力、ということになってしまいます。
さて方法2ですが、これが問題です。プログラムの設計がタコだと、
- バッファ容量があふれて、想定していなかったようなプログラムの誤動作が発生したり(いわゆるバッファ・オーバーフロー)
- 処理能力を超えるデータ入力があったために、システム全体の動作が異常にスローダウンしてしまう
など、思わぬ誤動作が起きてしまいます。そうです。あのギャラクシー・ウォーズは、意外なことに、こんなにも高度な仕組みで動作していたんですね。
(ありえない・・・)
現在のコンピュータシステムの多くで、方法2のような仕組みで動作するように設計されています。
コンピュータウイルスが、Windowsのセキュリティーホールを利用して、パソコンをのっとってしまうというのがあります。昔からよくある手口が、バッファオーバーフローを利用したもので、巧妙にしくんだ大量のデータを送りつけると、プログラムが誤動作しだして、悪意のあるプログラムを実行させてしまうことができます。
ほかの例としては、証券取引で、コンピュータの処理能力を超えてしまったために、システムダウンした、なんていう話もたびたび聞かれました。
うろ覚え話ですが、ゲームセンターあらしよりもずっと前の話、アポロ宇宙船で、センサーから送られてくるデータの量があまりにも多すぎて、コンピュータの処理能力を超えてしまったために、コンピュータが誤動作した、とかいう障害が発生したこともあったそうです。
そうか、パソコンで株取引するときに、炎のコマを使うと、1円で株が買えたりするかもしれませんね。
(ありえない・・・)
0 件のコメント:
コメントを投稿