質問

学ぶことに興味があります:オペレーティング システムのクラッシュ (Windows のクラッシュに限定されません) の最も一般的な技術的原因 (オペレーティング システム プログラミングの観点から) は何ですか?「開いているアプリが多すぎる」というような答えを探しているのではなく、開いているアプリが多すぎるとクラッシュの原因となる具体的に何が起こるのかを探しています。

役に立ちましたか?

解決

私の意見では

  1. 悪質なドライバー
  2. カーネルのバグ
  3. ハードウェア障害
  4. リソースの終了

最新のオペレーティング システムでは、単なるアプリケーションがクラッシュすることはありません。

他のヒント

OSクラッシュを引き起こすのはバグのあるドライバーです。システムに損害を与えることができるのは、OS 自体とドライバーだけです。

あなたの提案に対して:

  1. アプリケーションが OS と同じメモリにアクセスする場合、OS に問題はありません。メモリにアクセスできるかアクセスできないかのどちらかです。アプリケーションがメモリにアクセスしようとすると、CPU はセグメンテーション違反を生成します。OS がこれをアプリケーションに引き渡し、問題は解決されます。(99% でアプリはその後クラッシュしますが、それは OS のせいではありません)。

  2. 遅いプログラムのほうが安全だということですね。それは真実ではない。OS は、プログラムが何を実行しているかを正確に知る必要はありません。

最新の OS では、アプリケーション コードと OS コードは別のアドレス空間で実行されます。アプリケーション コードがオペレーティング システムをクラッシュさせることはできません。ここを参照してください:

http://en.wikipedia.org/wiki/Ring_(コンピューターセキュリティ)

クラッシュの最も一般的な読み取りは、OS の一部として動作しているコードが、OS の一部として動作している他のコードと干渉することです。一般的な原因は、OS のアドレス空間に存在する不適切に作成されたデバイス ドライバーです。

それほど多くはありませんが、ハードウェアの障害によってクラッシュが発生することもあります。

どれでも OSクラッシュ 次の 2 つの主な理由のいずれかによって発生する可能性があります。

  1. ハードウェアの問題.
  2. ソフトウェアの問題.

ハードウェアの問題:

  1. 電源関連の問題:システム電源が不適切に機能すると、システムが即時にシャットダウンする可能性があります。

  2. RAMの過熱:RAM が過熱すると、RAM 内のデータが破損する可能性があります。これにより、リセットが必要な場合には明らかなクラッシュが発生する可能性があります。

  3. 不適切なオーバークロック:過熱の原因となります。特定のハードウェア コンポーネントは熱に敏感です。過熱が発生すると、システムは自動的にシャットダウンします。

  4. ハードドライブの不良セクタ:ハードディスクはデータが保存されるセクターに分割されています。一部のセクターは不良セクターになります。 理由: ある. 。長時間の使用 - 多数の書き込みと読み取り。 b. 。製造上の欠陥。重要なシステム情報が保存されているハードディスク内のセクタが不良セクタになると、それらのファイルをロードすることが困難になり、クラッシュが発生します。

  5. RAMの問題:原因:データを取得できません。これは非常に重要です。 致命的な例外エラー

重大な誤解:システム内のアプリケーションがクラッシュしても、必ずしもシステムのクラッシュにつながるとは限りません。通常、OS には「何も起こりません」。アプリケーションがクラッシュした旨のレポートが送信されるだけです。

ソフトウェアの問題:

  1. 破損したレジストリ:アプリケーションを起動する前に、OS はそのレジストリを調べます。レジストリは、カーネル、ドライバー、アプリケーションに関するすべての情報が保存される小さなデータベースです。アプリケーションの不適切なアンインストール、レジストリの不注意な編集、インストールされているアプリケーションの多さなどにより、レジストリが破損する可能性があります。レジストリが破損するその他の原因. 。これにより、日常的なアプリケーションの起動が拒否され、 死のブルースクリーン 表示されるようになります。
  2. 不適切なドライバー :追加のハードウェアを使用するには、ドライバーが必要で、通常はインターネットからダウンロードされます。これらのドライバーにはバグが含まれている可能性があります。これらのバグは OS のクラッシュを引き起こします。最新のオペレーティング システムは、「セーフ モード ブート」オプションを備えてリリースされています。セーフ モード ブートでは、すべてではなく、重要なドライバー (最小限) のみがロードされます。セーフ モード ブートは、バグのあるドライバーを見つけるための診断目的で使用されます。
  3. ウイルスとトロイの木馬:OS クラッシュの一般的な理由。ウイルスやトロイの木馬はシステム ファイルを破損し、プログラムが停止したり、管理設定が変更されたり、何の兆候もなく頻繁に再起動されたりすると、メモリを「食い尽くして」OS がメモリを取得できなくなります。
  4. スラッシング:デッドロックは、実行中の 2 つのプログラムが特定のリソースに対する制御を必要とする場合に発生します。デッドロックが発生すると、OS が 2 つのプログラムの間で切り替えを試みることがあります。これは最終的にスラッシングにつながり、システム メモリと仮想メモリの間で情報が過度に移動することでハード ドライブが過負荷になり、システム クラッシュが発生します。

いいえ、あなたは大きく外れています。通常、アプリケーションが OS のクラッシュを引き起こす可能性のあることは何もありません。OS のクラッシュは通常、デバイス ドライバーのバグやハードウェアの障害が原因で発生します。

2 つの異なるソースがロックされた領域にアクセスしようとしていることが 1 つの問題です。すべてのミューテックス、モニター、ロックを 100% 機能させることは簡単ではありません。

Vista を例として使用すると、ドライバー...特にNVIDIA http://arstechnica.com/news.ars/post/20080325-vista-capable-lawsuit-paints-picture-of-buggy-nvidia-drivers.html. 。メモリ割り当てを決定するのはアプリケーションではなく OS です。まあ、それが理論です。

OS クラッシュは、ハードディスクの一部のセクターのクラッシュによっても発生する可能性があります。これは、すべての PC の OS がハードディスクのプライマリ ドライブに存在するためです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top