概要
初めましての方は初めまして。
情報系大学を卒業後、インフラエンジニアを務めています、itohです。
情報系の大学を出ていたり、エンジニアをやっていたりすると、
ふとした時に、パソコンの基本的な操作とか何気ない疑問などを友人や家族から聞かれたりすることがあったりします。そんな時に役に立つかもしれない知識のいくつかを、ハッとした時に語れるようにここに残しておこうと思います。
(技術的にはあんまり役に立たないかもしれません。)
見ていて「へー、そうなんだ」ぐらいに思っていただければ幸いです。
PC、ソフトの不具合を「バグ」と呼ぶ由来
結論。初期に作られたコンピュータの不具合の一つに、PC内に蛾が入り込む事例があったから。
パソコンに限らず、ゲームとかアプリとかのソフトウェアで不具合がある時、それを「バグ」と呼んだりします。
そのバグを直すことを「デバッグ」と呼びます。
これ、なんでバグと呼ぶのか、考えたことがありますでしょうか。これには諸説ありますが、大きな由来があります。
1947年9月9日にハーバード大学にて使用されていたコンピュータ、Harvard MarkII
内に蛾が入り込むという事象があり、コンピュータが動かなくなる事例がありました。
なぜ入り込んだのかというと、、
当時はCPU内のトランジスタの代わりに真空管を使用していました。真空管は現在のCPUと比較して膨大に熱と光を発生させます。
また、真空管を用いてコンピュータを構築すると巨大になってしまうため、虫が入り込む隙間もあったことでしょう。。
重さは 25 ショート トン (23 t) で、占有床面積は 4,000 平方フィート (370 平方メートル) 以上でした。
wikiになりますが、参考です。
実際にバグの原因として蛾が貼り付けられた写真も存在します。参考サイト2件目のgigazine。虫が苦手な方は注意。。
このバグを発見したのはプログラミング言語「COBOL」の開発者である、グレース・ホッパーさんという方です。
参考サイト
虫が苦手な方は注意。。
なぜPCでトラブルが発生した時に再起動を試すと解決することがあるのか?
これは、ハードウェア上の理由と、ソフトウェア上の理由で二つあります。
結論
- ハードウェア上の理由
-
エラーにより解放できなかったメモリ領域を強制的に解放できるから。
-
- ソフトウェア上の理由
最初に起動した際には、プログラムは設計者の想定通りの状態になっているから。
ハードウェア上の理由
ハードウェア上の理由ですが、パソコンがアプリケーションの不具合やソフトウェアの不具合などにより、パソコン上のメモリ領域を解放できなくなることがあったりします。いわゆる
- メモリリーク、
- デフラグ
といった不具合に対しての一時対応になり、回復する可能性があるということです。
ソフトウェア上の理由
プログラムの起動後、クリックや書き込みだけでなく、ウェブアプリであればブラウザの戻る・進むボタンや更新ボタンを押す、放置するなど、さまざまな操作を行います。
こうした操作を通してプログラムは元のプログラマーの意図とは異なる状態になることがあり、エラーやクラッシュ、フリーズが発生してしまうことがあります。
そういった時に、
一度電源をオフにして再度オンにする
という操作はプログラムの状態をリセットし、当初のプログラマーの意図通りの状態に戻すという事を行なっています。
参考サイト