Verarbeitung von Ereignisströmen im Betriebssystemkern
Description:... Die Beobachtung von Systemverhalten durch Aufzeichnung von auftretenden Ereignissen im System (event tracing) wird in unterschiedlichen Bereichen eingesetzt -beispielsweise zur Fehlersuche, zur Leistungsanalyse oder zur Überwachung von Dienstgüteeigenschaften. Herausforderungen ergeben sich dabei aus der großen Menge von aufzunehmenden Daten, einer unter Umständen starken Systembeeinflussung, der zeitlichen Lücke zwischen Analyse und möglicher Reaktion, sowie aus dem Detaillierungsgrad der aufgezeichneten Ereignisse. Die Verarbeitung von Ereignisströmen direkt im Betriebssystemkern stellt einen neuen Ansatz zur Systemanalyse dar. In dieser Arbeit wird eine im Betriebssystemkern integrierte Laufzeitumgebung zur Verarbeitung von Ereignisströmen vorgestellt. Diese erlaubt die Erkennung von Konstellationen mehrerer Ereignisse in unterschiedlichen Ausführungskontexten im systemweiten Ereignisstrom, die sofortige Verarbeitung und Analyse direkt während des Auftretens der Ereignisse und die Ausführung von Aktionen sofort nach der Erkennung bestimmter Ereigniskonstellationen. Mit Hilfe des beschriebenen Ansatzes kann die Menge der aufzuzeichnenden Daten reduziert werden, indem nur die Informationen aufgezeichnet werden, die tatsächlich für die Erkennung einer spezifischen Konstellation notwendig sind. Die Integration in den Betriebssystemkern ermöglicht die Analyse von nahezu beliebigen Anwendungen, die auf einem System mit einem solchen Kern ausgeführt werden. Die Laufzeitumgebung und die verwendete Instrumentierungsinfrastruktur sind als Prototyp für den Windows Betriebssystemkern implementiert worden. Weiterhin wird eine Spezifkationssprache zur Beschreibung von Ereigniskonstellationen dargestellt. Die Besonderheiten der Ereignisstromverarbeitung im Betriebssystemkern werden analysiert und berücksichtigt. Der in dieser Arbeit beschriebene Ansatz zur Verarbeitung von Ereignisströmen im Betriebs-systemkern ermöglicht beispielsweise die Implementierung eines Softwareprüfstands oder die Umsetzung von Konzepten des Autonomic Computing.
Show description