クラッシュ (コンピュータ)
コンピュータにおけるクラッシュは、特定の入力パターン、異常値の入力、高負荷、長時間の連続稼動など、様々な事象がその引き金となり、アクセス違反、メモリリークなどのバグを誘発する。それらの結果、コンピュータを異常な状況におく。
このような状況であっても、本来のコンピュータは、状況を適切にハンドリングするようにプログラムされなければならないが、あらゆる異常な状況を想定してプログラムを開発するのは困難であり、現実にクラッシュが発生するのである。
アプリケーションプログラムがクラッシュした場合は、アプリケーションが突然終了してしまうため、ほとんどのケースで作業中の保存していなかったデータは失われてしまう。また、画面に不自然なウィンドウやアイコンが残ったり、「保護違反」や「例外」などのメッセージを伴うケースもある。
オペレーティングシステムがクラッシュした場合は、ブルースクリーンやカーネルパニックが発生したり、あるいは突然再起動がかかるなどの現象が起こる。
クラッシュ時にはこういった目に見える現象のほか、本来解放するべきメモリやリソースが解放されていない(メモリリーク、リソースリーク (Resource_leak) )、ディスク上の書き込み途中だったデータが不正な状態になっている、などの問題が起きることもある。
なお近代的なマルチタスク・オペレーティングシステムでは、後述するメモリ保護機能のように、アプリケーションプログラムがクラッシュしたとしても他のアプリケーションやOS自体に致命的な悪影響を及ぼすことのないように設計されていることがほとんどである。アプリケーションが使用していたメモリ領域も、たとえクラッシュしたとしても通常はOSによって適切に解放される。