Nuove funzioni di Solaris 10

Funzione di tracciamento dinamico DTrace

DTrace è una funzione di grande importanza del sistema operativo Solaris 10. Questa funzione è stata introdotta nella versione Solaris Express 11/03 e migliorata in Solaris Express 5/04 e in Solaris Express 11/04.

DTrace è un sistema di tracciamento dinamico che offre agli utenti, agli amministratori e agli sviluppatori di Solaris un nuovo livello di osservabilità dei processi del kernel e degli utenti.

DTrace consente di comprendere meglio il sistema in uso permettendo di impostare il kernel del sistema operativo e i processi degli utenti in modo da registrare specifici dati in determinati punti, denominati sonde. Le sonde sono analoghe a piccoli sensori programmabili disseminati in tutto il sistema Solaris. In questa versione sono fornite oltre 30.000 sonde. Ogni sonda può essere associata a programmi personalizzati scritti nel nuovo linguaggio di programmazione D. Questo consente di accedere ai dati di sistema utilizzando i tipi e le espressioni del C ANSI e di catturare con semplicità le tracce degli stack, di registrare le indicazioni di data e ora, creare istogrammi ecc.

Tutta la strumentazione di DTrace è interamente dinamica e disponibile per l'utilizzo sui sistemi di produzione. Quando DTrace non è attivo, non ha nessun effetto sulle prestazioni. L'impatto sulle prestazioni determinato dalle operazioni di tracciamento è limitato alle sonde e alle azioni che vengono abilitate. Oltre a questo, DTrace è sicuro: non è possibile danneggiare il sistema in uso in quanto DTrace è progettato dall'inizio con funzioni di sicurezza, protezione e controllo degli errori. Queste funzioni consentono l'utilizzo sicuro di DTrace sul proprio sistema ogni qual volta sia necessario facilitare la diagnosi di un problema.

L'uso di DTrace è illustrato nel manuale Solaris Dynamic Tracing Guide e in diverse pagine man, tra cui dtrace(1M). Il manuale include un riferimento completo sulle funzioni e alcuni esempi introduttivi. È possibile anche partecipare al forum su DTrace su BigAdmin (vedere http://www.sun.com/bigadmin/content/dtrace) per ottenere altre informazioni, scaricare programmi di esempio e formulare le proprie domande.

Nella versione Solaris Express 5/04, il tracciamento dei processi degli utenti che utilizza il provider pid è stato reso disponibile per i sistemi x86. La stessa funzione era disponibile per le piattaforme SPARC dall'introduzione di DTrace nella versione Solaris Express 11/03.

Il provider pid consente di tracciare qualsiasi istruzione di qualsiasi processo sia a livello di chiamata e di valore restituito dalle funzioni che in qualsiasi posizione delle funzioni. Per maggiori informazioni, vedere il Capitolo 27, “pid Provider”, e il Capitolo 32, “User Process Tracing”, nel manuale Solaris Dynamic Tracing Guide.

In Solaris Express 11/04, il programma plockstat(1M) permette di osservare le primitive di sincronizzazione a livello utente, ad esempio lockstat(1M) nel kernel. Il provider plockstat di DTrace è la metodologia di strumentazione alla base di plockstat( 1M). Il programma plockstat di DTrace può essere usato per aumentare i dati registrati da plockstat. Per maggiori informazioni, vedere la pagina man plockstat(1M).