Warum gibt es ueberhaupt Bluescreens?

Knogle

Volt-Modder(in)
Hallo liebe Community
Warum gibt es unter den neueren Windows Versionen eigentlich immer Bluescreens wenn irgendwas nicht funktioniert?
Damals unter DOS lief es ja auch weiter wenn was nicht ging , auch wenn dann Fehler auftraten .. aber warum ist das unter Windows nicht so?

MfG
 
Bluescreens erscheinen unter der Windows NT Serie eigentlich nur noch, wenn ein kritischer Fehler auftritt. Kritisch heißt in dem Fall "non-recoverable", also dass eine Fortsetzung des Betriebs nicht mehr gewährleistet oder möglich ist. Die Bluescreens von Win9x sind mit diesen Bluescreens nicht vergleichbar, da diese auch "unkritische" Auslöser haben konnten (z.B. keine CD mehr im Laufwerk, obwohl benötigt).

Wenn kritische Fehler unter DOS auftreten, steht der Rechner in der Regel komplett, da bekommt man dann unter Umständen gar keine Ausgabe mehr. Allerdings ist DOS wesentlich einfacher aufgebaut, was viele moderne Fehlerursachen quasi unmöglich macht:

- Real Mode
- kein Multitasking
- kein Multithreading
- Single-User-Betrieb
- I/O über BIOS-Routinen möglich (z.B. FDD, HDD, Video)
- Hardwareeinschränkungen (z.B. noch keine Machine Check Architecture in der CPU)
- ...
 
Wenn z.b ein ram bausteinchen Schrott ist, und die Cpu dieses bausteinchen beschreibt und dann einen falschen Wert zurück kriegt, ensteht ein Bleuscreen. (einmal verrechnet und die ganzerechnung ist falsch). Ich vermute mal früher machte so ein falscher wert einfach nicht so viel aus.
(Wenn ich falsch liege dann berichtigt mich bitte;);).)
 
Jaein, es kann auch passieren, dass der Rechner einfach freezt. Das hängt davon ab, was und wo geschrieben wurde. Die CPU kann normalerweise in solchen Fällen eine Machine Check Exception auslösen. Das kann auch in anderen Fällen passieren, z.B. wenn die CPU zu warm wird oder als Folge von zu viel Overclocking. Wenn Windows eine solche Exception mitbekommt, siehst du auf jeden Fall einen blauen Bildschirm.
 
Jemand muss doch dem User sagen dass ein schlimmer Fehler aufgetreten ist, dazu kriegst du noch einen Fehlercode damit kannst du vielleicht nachgucken was es genauer ist.

Und genau das zeigt der Bluescreen an :D ... ich glaube der funktioniert auch ohne Windows bzw. Grafikbeschleunigung, auf unterster Ebene sozusagen - nur ne Vermutung.
 
Naja aber warum koennte das System dann nicht weiterlaufen ? :D
Nehmen wir mal eine Machine Check Exception. Wenn die auftritt, gibt es ein Hardwareproblem, z.B. Speicher defekt. Welchen Sinn hätte es dann, wenn der Rechner noch weiterläuft? Ein reibungsloser Betrieb kann ja nicht mehr gewährleistet werden. Eventuell war ja sogar eine Kerneldatenstruktur betroffen und wurde korrumpiert. Das gleiche gilt für Treiberprobleme, zum Beispiel PAGE_FAULT_IN_NONPAGED_AREA. In dem Fall wurden Daten aus dem Speicher angefordert, die nicht gefunden wurden. Normalerweise wird dann ein Page Fault ausgelöst und Windows sieht in der Auslagerungsdatei nach und lädt die entsprechenden Daten in den Speicher (das Konzept nennt sich Paging). Wenn jetzt aber diese Speicheradresse eigentlich nicht ausgelagert werden durfte, da sie als non-pageable markiert war (z.B. Kernel-Speicher), wird ein BSOD ausgelöst, da die Daten nicht geladen werden können. Der Treiber könnte seine Arbeit so nicht mehr fortsetzen.
 
Aber wenn ein Treiber nicht laeuft heisst das doch nicht das das ganze System nicht mehr laufen kann oder? :o
 
Das hab ich mich heute auch gefragt... Bluescreen nach Standby und Schuld war nen Treiber der eigentlich gar nicht benötigt wird, weil das Gerät selbst läuft egal ob der Treiber läuft oder nicht... Naja, Treiber geschlossen und rausgenommen aus dem Autostart und alles flutscht wieder mit dem Standby. Da fragt man sich dann auch, ob so ein Bluescreen nötig gewesen wäre. ;)

Im Endeffekt ist er das aber. Der Treiber kann scheinbar nichts machen, trotzdem kann er durch "nicht funktionieren" Adressierungsfehler verursachen die das System noch viel mehr verhunzen. Da ist es besser das "geordnete" abschmieren anzuordnen und nen Neustart durchzuführen der vielleicht alles wieder fixed, als das Risiko in kauf zu nehmen noch weitere Systemkomponenten zu versauen.
 
Das hab ich mich heute auch gefragt... Bluescreen nach Standby und Schuld war nen Treiber der eigentlich gar nicht benötigt wird, weil das Gerät selbst läuft egal ob der Treiber läuft oder nicht... Naja, Treiber geschlossen und rausgenommen aus dem Autostart und alles flutscht wieder mit dem Standby. Da fragt man sich dann auch, ob so ein Bluescreen nötig gewesen wäre. ;)

Im Endeffekt ist er das aber. Der Treiber kann scheinbar nichts machen, trotzdem kann er durch "nicht funktionieren" Adressierungsfehler verursachen die das System noch viel mehr verhunzen. Da ist es besser das "geordnete" abschmieren anzuordnen und nen Neustart durchzuführen der vielleicht alles wieder fixed, als das Risiko in kauf zu nehmen noch weitere Systemkomponenten zu versauen.

Gibts denn irgendwie die Moeglichkeit weitere Systemkomponenten zu versauen statt einem geordneten Neustart? :D
 
Aber wenn ein Treiber nicht laeuft heisst das doch nicht das das ganze System nicht mehr laufen kann oder? :o
Das trifft in der Regel nur auf Treiber zu, die nicht auf Kernel-Ebene (Ring 0) arbeiten, sondern im User Mode (Ring 3). Diese Treiber verhalten sich im Prinzip wie ein ganz normales Programm. Kernel-Mode-Treiber hingegen liegen im selben Adressraum wie der Kernel. Wenn diese Treiber nun zum Beispiel durch einen Fehler im Speichermanagement wichtige Kernel-Datenstrukturen überschreiben, ist in der Regel das ganze System betroffen. Da kann man dann außer einem Reboot nichts mehr machen, diese Strukturen können in der Regel zur Laufzeit nicht wiederhergestellt werden.
 
Zurück