26.2. Unterschiede in der Implementierung

Obwohl DTrace in FreeBSD sehr ähnlich zu dem in Solaris™ ist, existieren doch Unterschiede, die vorher erklärt werden müssen. Der Hauptunterschied für die Anwender besteht darin, dass in FreeBSD DTrace explizit aktiviert werden muss. Es existieren Kerneloptionen und Module, die aktiviert sein müssen, damit DTrace korrekt arbeitet. Diese werden später genauer erlätert.

Die Kerneloption DDB_CTF wird dafür verwendet, um die Unterstützung im Kernel für das Laden von CTF-Daten aus Kernelmodulen und dem Kernel selbst zu ermöglichen. CTF ist das Compact C Type Format von Solaris, welches eine reduzierte Form von Debug-Informationen kapselt, ähnlich zu DWARF und den antiken Stabs. Diese CTF-Daten werden dem Binärcode von den ctfconvert und ctfmerge Befehlen den Werkzeugen zum Bauen des Systems hinzugefügt. Das ctfconvert-Dienstprogramm parst die vom Compiler erstellten DWARF ELF Debug-Abschnitte und ctfmerge vereint CTF ELF-Abschnitte aus Objekten, entweder in ausführbare Dateien oder Shared-Libraries. In Kürze erfahren Sie, wie Sie dies für den Kernel und den Bau von FreeBSD aktivieren.

Einige Provider in FreeBSD unterscheiden sich von der Solaris-Implementierung. Am deutlichsten wird das beim dtmalloc-Provider, welcher das Aufzeichnen von malloc() nach Typen im FreeBSD-Kernel ermöglicht.

In FreeBSD darf DTrace wegen unterschiedlicher Sicherheitskonzepte nur von root verwendet werden. Solaris besitzt ein paar Audit-Funktionen auf den unteren Ebenen, die noch nicht in FreeBSD implementiert sind. Deshalb kann nur root auf /dev/dtrace/dtrace zugreifen.

Zum Schluss muss noch erwähnt werden, dass die DTrace-Software unter Sun™s CDDL Lizenz fällt. Die Common Development and Distribution License wird von FreeBSD mitgeliefert, sehen Sie sich dazu /usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE an, oder lesen Sie die Online-Version unter http://www.opensolaris.org/os/licensing.

Diese Lizenz bedeutet, dass ein FreeBSD-Kernel mit den DTrace-Optionen immer noch BSD-lizenziert ist; allerdings tritt die CDDL in Kraft, wenn Module in Binärform vertrieben werden oder die Binärdateien geladen werden.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.