web-dev-qa-db-ja.com

システムがハングしてもマウスがまだ機能するのはなぜですか?

これは正確には問題ではありませんが、興味深いものです。

Windows PCが何らかの理由でハングした場合(例: WinExplorerのクラッシュ、内部クラッシュ、またはHDDの障害。ほとんどの場合、マウス以外はすべて機能しなくなりました。マウスを動かして、ボタンをクリックします。クリックしても他には何も起こりませんが。

なぜそしてどのようにマウスはこれらの「危機」の期間に働くことができますか?

パラメーター:

  • Windows 7
  • USBマウス
5
kmonsoor

オペレーティングシステム自体が「クラッシュ」すると、通常、恐ろしいブルースクリーンが表示されます。 PCが「ハング」する場合、これはオペレーティングシステムのpart(たとえば、実行中のプログラム、またはデバイスドライバーによって処理されている割り込み)が原因です。 、ある種の継続的なループまたは待機状態でスタックしています)。

Windowsはマルチタスクオペレーティングシステムであり、カーネル自体が実行中のプログラムを中断して、システム内のすべてのプロセスが確実に実行されるようにします。あなたが説明するケースでは、1つの個別のプロセスが無限ループ(CPUの100%を消費)でスタックしているか、他の種類のデッドロック/リソース不足を引き起こしていて、システム上の他のプロセスに影響を与えている可能性がありますそれらの同じリソースを使用しようとしています。

一般に、これらの問題がマウスドライバまたはビデオカードドライバに影響を与えることはめったにないため、マウスが動いて動作するのがわかります(これらはほとんど常に使用されており、ずっと前にその問題を発見したはずです)。

解決策:状況によって異なります!問題が特定のハードウェアデバイスドライバーにある場合は、コンピューターを再起動し、更新を期待する(またはバグレポートを製造元に問い合わせる)以外にできることはほとんどありません。 )。問題がシステムリソースのデッドロックの単一プロセスにある場合は、おそらくWindowsタスクマネージャーからプロセスを強制終了できます(再発する場合は、ソフトウェア開発者にバグレポートを連絡してください)。

2
cp2141

Windows PCが何らかの理由でハングした場合(例: WinExplorerのクラッシュ、内部クラッシュ、またはHDDの障害。ほとんどの場合、マウス以外はすべて機能しなくなりました。マウスを動かして、ボタンをクリックします。クリックしても他には何も起こりませんが。

簡単に言えば、それは先制的なマルチタスクと優先順位のためです。

マウスは優先度の高い低レベルのドライバによって制御されるため、プログラムがハングした場合でも、カーソルは引き続き独立して管理されます。

つまり、高い優先度に設定されているプログラムがフリーズした場合(そしてCPUに100%の負荷がかかっている場合)、システムがハングしたプログラムの処理を試みるのに忙しいため、マウスとキーボードでさえ最終的には動作しなくなります。マウスやキーボードのアクションを処理することができません。 (詳細は プリエンプティブマルチタスク を参照してください。)

Windowsエクスプローラは他のプログラムと同じように、プログラムがクラッシュするかどうかは関係ありません。実際、別のWindows Shell または file-manager に完全に置き換えることもできます。

ハードウェアデバイスに障害が発生した場合、システム全体がダウンするかどうかは、ハードウェアが何であるか、およびハードウェアがシステムにとってどれほど重要であるかによって異なります。プリンタまたはDVDドライブに障害が発生した場合、システムは実行を継続する可能性があります。システムの実行元のビデオアダプタまたはハードドライブに障害が発生した場合、システムは応答しなくなる可能性があります。

2
Synetech

ハングfreezeではありません。セマンティクスの少しは長い道のりを行くことができます。

hangは、プログラム、アプリケーション、またはプロセスがdirectユーザー入力に応答しなくなる状況として定義できます。

freezeは、マシン全体が応答しない状況として定義できます。

それらの主な違いは、プログラムがクラッシュした場合でも、カーネルと、OSがロードしたドライバーがまだアクティブであるということです。 Windowsエクスプローラーはハングする可能性がありますが、WindowsカーネルはExplorerプロセスに関連していないため、引き続きマシンを実行できます。タスクマネージャを使用して、強制終了した後、別のプロセスを実行できます。

フリーズが発生した場合は、グラフィックスドライバーが予期せず失敗したか(システムはまだ機能している可能性がありますが、何をしているかわからないため、通常はシステムがフリーズしていると見なされます)、またはシステムがエラー状態になります。 、ユーザー(BSOD)に報告すると、その機能を確実に実行できなくなります。

1