Handbuch zur dynamischen Ablaufverfolgung in Solaris

Abhängigkeitsklassen

Angesichts der zahlreichen Betriebsplattformen und Prozessoren, die Solaris und DTrace unterstützen, kennzeichnet DTrace Schnittstellen außerdem mit einer Abhängigkeitsklasse, die Aufschluss darüber gibt, ob eine Schnittstelle für alle Solaris-Plattformen und Prozessoren oder nur für eine bestimmte Systemarchitektur Gültigkeit besitzt. Die Abhängigkeitsklassen stehen in keinem linearen Zusammenhang mit den bereits besprochenen Stabilitätsstufen. So kann eine DTrace-Schnittstelle beispielsweise „Stable“ sein, aber nur auf SPARC-Mikroprozessoren unterstützt werden oder „Unstable“, aber für alle Solaris-Systeme zutreffen. Die DTrace-Abhängigkeitsklassen sind in der folgenden Liste von der am wenigsten allgemeingültigen (d. h. der am meisten für eine bestimmte Architektur spezifischen) bis zur allen Architekturen gemeinsamen Schnittstelle aufgeführt.

Unknown

Die Abhängigkeit der Schnittstelle von Architekturen ist unbekannt. DTrace kennt nicht unbedingt die Architekturabhängigkeit aller Größen wie beispielsweise von Datentypen, die in der Betriebssystemimplementierung definiert sind. Als „Unknown“ werden in der Regel Schnittstellen sehr geringer Stabilität gekennzeichnet, für die keine Abhängigkeiten berechnet werden können. Die Schnittstelle ist möglicherweise nicht verfügbar, wenn Sie DTrace auf einer beliebigen anderen als der derzeit verwendeten Architektur ausführen.

CPU

Die Schnittstelle ist spezifisch auf das CPU-Modell des aktuellen Systems ausgerichtet. Mit dem Dienstprogramm psrinfo(1M) und der Option -v lassen sich die Bezeichnungen des aktuellen CPU-Modells und der Implementierung anzeigen. Schnittstellen mit CPU-Modellabhängigkeiten stehen auf anderen CPU-Implementierungen möglicherweise auch dann nicht zur Verfügung, wenn diese CPUs dieselbe Befehlssatzarchitektur (ISA) exportieren. So steht beispielsweise eine CPU-abhängige Schnittstelle auf einem UltraSPARC-III+-Mikroprozessor auf UltraSPARC-II nicht zur Verfügung, obwohl beide Prozessoren den SPARC-Befehlssatz unterstützen.

Platform

Die Schnittstelle ist spezifisch auf die Hardware-Plattform des aktuellen Systems ausgerichtet. Eine Plattform verbindet eine Gruppe von Systemkomponenten und architektonischen Merkmalen wie zum Beispiel einen Satz unterstützter CPU-Modelle mit einem Systemnamen wie SUNW,Ultra-Enterprise-10000 . Den aktuellen Plattformnamen rufen Sie mit uname(1) und der Option -i ab. Die Schnittstelle steht auf anderen Hardware-Plattformen möglicherweise nicht zur Verfügung.

Group

Die Schnittstelle ist spezifisch auf die Hardware-Plattformgruppe des aktuellen Systems ausgerichtet. Eine Plattformgruppe vereint eine Menge von Plattformen mit ähnlichen Merkmalen unter einem einzigen Namen, wie beispielsweise sun4u. Den Namen der aktuellen Plattformgruppe rufen Sie mit uname(1) und der Option -m ab. Die Schnittstelle ist auf anderen Plattformen derselben Gruppe verfügbar, auf Hardware-Plattformen anderer Gruppen möglicherweise nicht.

ISA

Die Schnittstelle ist spezifisch auf die Befehlssatzarchitektur (ISA) ausgerichtet, die von den Prozessoren dieses Systems unterstützt wird. Die ISA beschreibt eine Spezifikation der auf dem Prozessor ausführbaren Software, einschließlich der Assemblersprachen-Anweisungen, Register und anderer Details. Mit dem Dienstprogramm isainfo(1) rufen Sie die von dem System unterstützten nativen Befehlssätze ab. Die Schnittstelle wird auf Systemen, die nur andere Befehlssätze exportieren, möglicherweise nicht unterstützt. So wird beispielsweise eine ISA-abhängige Schnittstelle auf einem Solaris SPARC-System auf einem Solaris x86-System nicht unbedingt unterstützt.

Common

Die Schnittstelle ist allen Solaris-Systemen unabhängig von der zugrunde liegenden Hardware gemeinsam. DTrace-Programme und mehrschichtige Anwendungen, die nur von Schnittstellen des Typs „Common“ abhängen, können auf anderen Solaris-Systemen mit derselben Solaris- und DTrace-Version ausgeführt und bereitgestellt werden. Die meisten DTrace-Schnittstellen sind „Common“ und können überall dort eingesetzt werden, wo Solaris läuft.