カーネルパニックとは
カーネルパニックは、特定の種類の重大なコンピューターエラーに対するオペレーティングシステムの応答です。 通常、診断情報を表示および保存してから、コンピューターシステムをロックアップするか、再起動します。 カーネルパニックは、通常、誤動作しているハードウェアまたは誤って記述されたソフトウェアの問題によって発生します。 これらはオペレーティングシステムカーネルによって使用され、ユーザーに警告し、エラーが検出された場合のさらなる問題を防ぎます。
無効なメモリにアクセスしようとするカーネルコードなど、多くのエラー状態がカーネルパニックを引き起こす可能性があります。 ほとんどのコンピューターハードウェアデバイスには、カーネルの一部であるか、動的にロードされるドライバーが含まれています。 これらのデバイスまたはドライバーの問題も、カーネルパニックを引き起こす可能性があります。 カーネルの多くの部分にある割り込みハンドラは、実行中に重大なエラーが発生するとパニックを引き起こすことがよくあります。 ハードディスク、システムファイル、プロセッサ、またはメモリの欠陥または破損も、パニックを引き起こす可能性があります。
カーネルパニックという用語は、初期のUNIX®システムに由来します。 これらの多くは短いエラーメッセージのみを表示し、無限にループし、再起動または電源の入れ直しを待ちました。 UNIX®の進化に伴い、パニック中により有用なデバッグ情報が生成されました。 Linux®オペレーティングシステムは、さまざまな重大なエラーを反映するために「Linux®kernel oops」という用語を作り出しました。 Linux®の「oops」エラーの中には、カーネルパニックを引き起こすものとそうでないものがあります。
MicrosoftWindows®ユーザーは通常、「死のブルースクリーン」に精通しています。 バグチェックとも呼ばれ、これはWindows®のカーネルパニックに相当するもので、同様の条件によってトリガーされます。 最新のUNIX®およびLinux®システムと同様に、Windows®はバグチェック中にシステムメモリのイメージをハードディスクに保存しようとします。 場合によっては、パニック中にイメージが不揮発性メモリに書き込まれ、再起動時にハードディスクにコピーされます。 ただし、ディスク障害がパニックの原因である場合、システムはメモリイメージを保存できない場合があります。
多くの場合、重大なエラーが発生した後もオペレーティングシステムの実行を継続できます。 カーネルパニックがシステムを停止させる理由は、ソフトウェア、ハードウェア、またはメモリの内容のさらなる破損を防ぐためです。 この状態でシステムを停止すると、エンジニアが原因を特定できる十分な情報が保存される場合があります。 表示されるデータには、多くの場合、エラーの種類とその時点で実行されているコードモジュールに関する詳細が含まれます。 また、ロードされたすべてのドライバーを表示し、ユーザーがデバッガーを実行して問題を調査できるようにすることもできます。