Kernmüllkippe

In der Computerwissenschaft, einer Kernmüllkippe, Speichermüllkippe oder Lagerungsmüllkippe besteht aus dem registrierten Staat des Arbeitsgedächtnisses eines Computerprogramms in einer spezifischen Zeit allgemein, als das Programm geendet hat, anomal ist (abgestürzt). In der Praxis werden andere Schlüsselstücke des Programm-Staates gewöhnlich zur gleichen Zeit einschließlich der Verarbeiter-Register abgeladen, die den Programm-Schalter einschließen und Zeigestock, Speicherverwaltungsinformation, und anderen Verarbeiter und Betriebssystemfahnen und Information aufschobern können. Kernmüllkippen werden häufig verwendet, um beim Diagnostizieren und Beseitigen bei Fehlern in Computerprogrammen zu helfen.

Der Name kommt aus dem magnetischen Kerngedächtnis, der Hauptform des zufälligen Zugriffsgedächtnisses von den 1950er Jahren bis zu den 1970er Jahren. Der Name ist geblieben, lange nachdem magnetische Kerntechnologie veraltet geworden ist.

Auf vielen Betriebssystemen löst ein tödlicher Fehler in einem Programm automatisch eine Kernmüllkippe aus; durch die Erweiterung ist der Ausdruck, "um Kern abzuladen", gekommen, um, in vielen Fällen, jedem tödlichen Fehler, unabhängig davon zu bedeuten, ob eine Aufzeichnung des Programm-Gedächtnisses resultiert.

Der Begriff "Kernmüllkippe", "Speichermüllkippe", oder "laden" gerade "ab", ist Jargon geworden, um jede Speicherung eines großen Betrags von rohen Daten für die weitere Überprüfung anzuzeigen.

Hintergrund

Vor dem Advent der Platte Betriebssysteme und die Fähigkeit, große Datendateien zu registrieren, waren Kernmüllkippen Papierausdrücke des Inhalts des Gedächtnisses, das normalerweise in Säulen von hexadecimal oder Oktalzahlen (eine "Hexe-Müllkippe") manchmal eingeordnet ist, begleitet durch ihre Interpretationen als Maschinensprachinstruktionen, Textschnuren, oder Dezimalzahl oder Schwimmpunkt-Zahlen (vgl Zurückübersetzer). In neueren Betriebssystemen ist eine "Kernmüllkippe" eine Datei, die das Speicherimage eines besonderen Prozesses oder die Speicherimages von Teilen des Adressraums dieses Prozesses zusammen mit anderer Information wie die Werte von Verarbeiter-Registern enthält. Diese Dateien können gedruckt oder als Text angesehen, oder mit Spezialwerkzeugen wie objdump analysiert werden.

Gebrauch von Kernmüllkippen

Kernmüllkippen können als nützliche Beseitigen-Hilfe in mehreren Situationen dienen. Auf frühen eigenständigen oder stapelweise verarbeitenden Systemen haben Kernmüllkippen einem Benutzer erlaubt, bei einem Programm die Fehler zu beseitigen, ohne die (sehr teure) Rechenmöglichkeit für das Beseitigen zu monopolisieren; ein Ausdruck konnte auch günstiger sein als das Beseitigen bei Verwenden-Schaltern und Lichtern. Auf geteilten Computern, ob Time-Sharing, Gruppe-Verarbeitung oder Server-Systeme, Kernmüllkippen offline erlauben, des Betriebssystems die Fehler zu beseitigen, so dass das System in die Operation sofort zurückgehen kann. Kernmüllkippen erlauben einem Benutzer, einen Unfall für später oder Analyse außer Seite oder Vergleich mit anderen Unfällen zu sparen. Für eingebettete Computer kann es unpraktisch sein, um das Beseitigen auf dem Computer selbst zu unterstützen, so kann die Analyse einer Müllkippe auf einem verschiedenen Computer stattfinden. Einige Betriebssysteme wie frühe Versionen von Unix haben Befestigung von Testhilfeprogrammen zum Laufen von Prozessen nicht unterstützt, so waren Kernmüllkippen notwendig, um ein Testhilfeprogramm auf einem Speicherinhalt eines Prozesses zu führen. Kernmüllkippen können verwendet werden, um Daten zu gewinnen, die während der dynamischen Speicherzuteilung befreit sind, und können so verwendet werden, um Information aus einem Programm wiederzubekommen, das nicht mehr läuft. Ohne ein interaktives Testhilfeprogramm kann die Kernmüllkippe von einem fleißigen Programmierer verwendet werden, um den Fehler von der direkten Überprüfung zu bestimmen.

Eine Kernmüllkippe vertritt den ganzen Inhalt der abgeladenen Gebiete des Adressraums des abgeladenen Prozesses. Abhängig vom Betriebssystem kann die Müllkippe wenige oder keine Datenstrukturen enthalten, um Interpretation der Speichergebiete zu helfen. In diesen Systemen verlangt erfolgreiche Interpretation, dass das Programm oder der Benutzer, der versucht, die Müllkippe zu interpretieren, die Struktur des Speichergebrauches des Programms verstehen.

Ein Testhilfeprogramm kann einen Symbol-Tisch verwenden, wenn man besteht, um dem Programmierer zu helfen, Müllkippen zu interpretieren, Variablen symbolisch identifizierend und Quellcode zeigend; wenn der Symbol-Tisch nicht verfügbar ist, ist weniger Interpretation der Müllkippe möglich, aber dort könnte noch genug möglich sein, die Ursache des Problems zu bestimmen. Es gibt auch Werkzeuge des speziellen Zwecks genannt Müllkippe Analysatoren, um Müllkippen zu analysieren. Ein populäres Werkzeug, das auf vielen Betriebssystemen verfügbar ist, ist der GNU-Binutils'-objdump.

Auf modernen Unix ähnlichen Betriebssystemen können Verwalter und Programmierer Kernmüllkippe-Dateien mit dem GNU Binutils Binäre Dateideskriptor-Bibliothek (BFD), und das GNU-Testhilfeprogramm (gdb) und objdump lesen, die diese Bibliothek verwenden. Diese Bibliothek wird die rohen Daten für eine gegebene Adresse in einem Speichergebiet von einer Kernmüllkippe liefern; es weiß nichts über Variablen oder Datenstrukturen in diesem Speichergebiet, so wird die Anwendung mit der Bibliothek, um die Kernmüllkippe zu lesen, die Adressen von Variablen bestimmen und das Lay-Out von Datenstrukturen selbst, zum Beispiel durch das Verwenden des Symbol-Tisches für das Programm das erlebende Beseitigen bestimmen müssen.

Analytiker von Unfall-Müllkippen von Systemen von Linux können verwenden oder Linux Kernel Crash Dump (LKCD).

Kernmüllkippen können den Zusammenhang (Staat) eines Prozesses an einem gegebenen Staat sparen, um dazu später zurückzukehren. Systeme können hoch verfügbar durch das Übertragen des Kerns zwischen Verarbeitern manchmal über Kernmüllkippe-Dateien selbst gemacht werden.

Kern kann auch auf einen entfernten Gastgeber über ein Netz abgeladen werden (der ein Sicherheitsrisiko ist).

Kernmüllkippe-Dateien

Format

In älteren und einfacheren Betriebssystemen hatte jeder Prozess einen aneinander grenzenden Adressraum, so war eine Kernmüllkippe-Datei einfach eine binäre Datei mit der Folge von Bytes oder Wörtern. In modernen Betriebssystemen kann ein Prozess-Adressraum Lücken haben, und Seiten mit anderen Prozessen oder Dateien teilen, so werden mehr wohl durchdachte Darstellungen verwendet; sie können auch andere Information über den Staat des Programms zur Zeit der Müllkippe einschließen.

In Unix ähnlichen Systemen verwenden Kernmüllkippen allgemein das rechtskräftige Standardbildformat:

  • a.out in älteren Versionen von Unix,
  • ELF in modernem Linux, System V, Solaris und BSD Systeme,
  • Betont männlich in Mac OS X, usw.

Das Namengeben

  • Müllkippen von Benutzerprozessen werden traditionell als "" geschaffen.
  • Weites System Müllkippen auf modernen Unix ähnlichen Systemen erscheinen häufig als "" oder als "".
  • Systeme wie Windows von Microsoft, das Dateiformate verwendet, können die Erweiterung"", z.B, "" oder "" verwenden.

Siehe auch

  • Savestate
  • Gehirnmüllkippe

Referenzen

Links

Beschreibungen für das Dateiformat:

Als er

Robert Hooke / Vorbestelltes Wort
Impressum & Datenschutz