Unfall (Computerwissenschaft)

Ein Unfall (oder Absturz) in der Computerwissenschaft ist eine Bedingung, wo ein Computer oder ein Programm, entweder eine Anwendung oder ein Teil des Betriebssystems, aufhören, richtig zu fungieren, häufig nach dem Antreffen auf Fehler abgehend. Häufig kann das verstoßende Programm scheinen, zu frieren oder bis zu einem berichtenden Unfall-Dienst Dokumentendetails des Unfalls zu hängen. Wenn das Programm ein kritischer Teil des Betriebssystemkerns ist, kann der komplette Computer abstürzen. Das ist von einem Hängen oder Stopp verschieden, wo die Anwendung oder OS fortsetzen, ohne offensichtliche Antwort auf den Eingang zu laufen.

Viele Unfälle sind das Ergebnis der Ausführung einer einzelnen Maschineninstruktion, aber die Ursachen davon sind viele falten sich. Typische Ursachen bestehen darin, wenn der Programm-Schalter auf eine falsche Adresse gesetzt wird oder eine Pufferüberschwemmung überschreibt, ein Teil des Programms codieren wegen eines früheren Programmfehlers. In jedem Fall ist es für den Verarbeiter ziemlich üblich zu versuchen, Daten oder zufällige Speicherwerte durchzuführen. Da alle Datenwerte möglich sind, aber nur einige Werte sind gültige Instruktionen, läuft das häufig auf eine ungesetzliche Instruktionsausnahme hinaus. Zufällig konnten solche Daten oder zufällige Werte (obwohl ungeplant) Instruktionen gültig sein. Man könnte sagen, dass der ursprüngliche Programmfehler, die den Programm-Schalter umwerfen, den Unfall "verursacht" hat, aber die wirkliche Schuld war eine ungesetzliche Instruktion nach einer Weile. Die Kunst, bei solchen Unfällen die Fehler zu beseitigen, verbindet die wirkliche Ursache des Unfalls (leicht bestimmt) mit dem Code, die die Kette von Ereignissen abheben. Das ist häufig alles andere als offensichtlich - der ursprüngliche Programmfehler ist gewöhnlich vollkommen gültiger Code von der Perspektive des Verarbeiters.

Auf früheren Personalcomputern war es wirklich möglich, Hardware-Schaden durch das Versuchen zu verursachen, Hardware-Adressen außerhalb des Hauptgedächtnisses des Systems zu schreiben. Gelegentlich wird die Ausführung von willkürlichen Daten auf einem System auf einen Bruch der Schirm-Anzeige hinauslaufen. Das wird als ein strenger Absturz weit betrachtet.

Etymologie

Der Begriff "Unfall" kann vom Ausdruck "Hauptunfall" hervorbringen, der vorkommt, wenn das Lesen/Schreiben innerhalb einer Festplatte geht, physisch tritt in Kontakt mit ein - "stürzen" in — die Platte, die magnetische Datenlagerungsoberfläche einer Festplatte "ab". Ein Hauptunfall ist zur Laufwerk-Operation katastrophal, der Strenge eines Computerunfalls zur Computersoftware grob analog.

Anwendungsunfälle

Eine Anwendung stürzt normalerweise ab, wenn sie eine Operation durchführt, der durch das Betriebssystem nicht erlaubt wird. Das Betriebssystem löst dann eine Ausnahme oder Signal in der Anwendung aus. Anwendungen von Unix haben traditionell auf das Signal durch das Abladen des Kerns geantwortet. Der grösste Teil des Windows und Unix GUI Anwendungen antworten durch das Anzeigen eines Dialogfeldes (solcher als ein gezeigter nach rechts) mit der Auswahl, ein Testhilfeprogramm beizufügen, wenn man installiert wird. Dieses Verhalten wird genannt "abstürzend". Einige Anwendungen versuchen, sich vom Fehler zu erholen und Ausführung statt des Unfalls fortzusetzen.

Typische Fehler, die auf Anwendungsunfälle hinauslaufen, schließen ein:

  • der Versuch, Gedächtnis zu lesen oder zu schreiben, das nicht zugeteilt wird, um zu lesen oder durch diese Anwendung (Segmentationsschuld) oder x86 spezifisch (allgemeine Schutzschuld) zu schreiben
  • der Versuch, privilegierte oder ungültige Instruktionen durchzuführen
  • der Versuch, Eingabe/Ausgabe-Operationen auf Hardware-Geräten durchzuführen, zu denen es Erlaubnis nicht hat, auf zuzugreifen
  • vorübergehende ungültige Argumente für das System nennen
  • der Versuch, auf andere Systemmittel zuzugreifen, zu denen die Anwendung Erlaubnis nicht hat (Busfehler) zuzugreifen
  • der Versuch, Maschineninstruktionen mit schlechten Argumenten (abhängig von Zentraleinheitsarchitektur) durchzuführen: Teilen Sie sich durch die Null, Operationen auf denorms oder Werten von NaN, Speicherzugang zu unausgerichteten Adressen usw.

Website-Server-Unfälle

Die Software, die den Server hinter einer Website führt, kann abstürzen, es unzugänglich völlig machend oder nur eine Fehlermeldung statt des normalen Inhalts zur Verfügung stellend.

Zum Beispiel: Wenn eine Seite eine SQL Datenbank (wie MySQL) für eine Schrift (wie php) verwenden würde, und dass SQL Server abgestürzt ist, dann würde php einen Verbindungsfehler zeigen.

Betriebsabstürze

Ein Betriebsabsturz kommt allgemein vor, wenn eine Hardware-Ausnahme vorkommt, der nicht behandelt werden kann. Betriebsabstürze können auch vorkommen, wenn die innere Vernunft überprüfende Logik innerhalb des Betriebssystems entdeckt, dass das Betriebssystem seine innere Selbstkonsistenz verloren hat.

Moderne stark mehrbeanspruchende Betriebssysteme, wie Windows NT, Linux oder Mac OS X bleiben gewöhnlich unversehrt wenn eine Anwendung Programmabstürze.

Siehe auch

  • Blauer Schirm des Todes
  • Unfall zur Arbeitsfläche
  • Segmentationsschuld
  • Sichere Weise
  • Das Beseitigen
  • Kernpanik
  • Neustart
  • Zertrümmern Sie Reporter
  • Datenverlust
  • SystemRescueCD

Source is a modification of the Wikipedia article Crash (computing), licensed under CC-BY-SA. Full list of contributors here.
Joseph Estrada / Abigail Williams
Impressum & Datenschutz