Autor Thema: DTrace-Komponenten  (Gelesen 548 mal)

DirektTop

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
DTrace-Komponenten
« am: Mai 31, 2011, 11:58:31 am »
Die Komponenten von DTrace

DTrace besteht aus einem shell-Kommando dtrace(1), einem Kernel-Modul gleichen Namens und der Programmiersprache "D". Die in dieser Sprache geschriebenen Programme werden auch DTrace-Programme genannt.

Dem shell-Kommando dtrace wird das auszuführende DTrace-Programm mitgegeben, entweder direkt als Argument auf der Kommandozeile oder in einer Datei (Option -s). Das Programm wird kompiliert und, falls es frei von Syntaxfehlern ist, als binäre Version (in DIF = D Intermediate Format) in das Kernel-Modul hinuntergeladen.

Ablauf eines DTrace-Programms

Das  Kernel-Modul verändert entsprechend der im Programm angegebenen probes den Maschinencode des kernels unmittelbar im physikalischen Hauptspeicher. Auf diese Weise wird zur Laufzeit erkannt, wann der Kontrollfluss des Kernels diese probe erreicht hat. Darauf wird die im DTrace-Programm angegebene Aktion ausgeführt und im Anschluss daran mit der  ursprüngliche Maschineninstruktion fortgefahren. Auf diese Weise finden die Dtrace-Aktionen auf eine für den übrigen Kernel "transparente" Weise statt.

Der Hauptspeicher bleibt an den aktivierten probes solange durch Dtrace verändert, bis das dtrace-Kommando abgebrochen wird (normalerweise mit STRG-C).
« Letzte Änderung: Mai 31, 2011, 12:03:53 pm von DirektTop »