Αν και το DTrace στο FreeBSD είναι αρκετά όμοιο με αυτό του SolarisTM, υπάρχουν κάποιες διαφορές που θα πρέπει να τις εξηγήσουμε πριν συνεχίσουμε. Η μεγαλύτερη διαφορά που θα παρατηρήσουν οι χρήστες, είναι ότι στο FreeBSD το DTrace πρέπει να ενεργοποιηθεί χειροκίνητα. Υπάρχουν διάφορες επιλογές και αρθρώματα για τον πυρήνα που πρέπει να ενεργοποιηθούν ώστε το DTrace να λειτουργεί σωστά. Θα εξηγήσουμε αργότερα αυτές τις ρυθμίσεις.
Η επιλογή DDB_CTF
του πυρήνα χρησιμοποιείται για
να ενεργοποιήσει την υποστήριξη φορτώματος των δεδομένων
CTF από τον πυρήνα και τα αρθρώματα του. Το
CTF είναι το Compact C Type format του SolarisTM,
το οποίο ενθυλακώνει μια ελαττωμένη μορφή πληροφοριών αποσφαλμάτωσης
(debugging), όμοια με το DWARF και τα
stabs. Αυτά τα δεδομένα CTF προστίθενται στα
εκτελέσιμα μέσω των εργαλείων ctfconvert
και
ctfmerge
. Το βοηθητικό πρόγραμμα
ctfconvert
ερμηνεύει τα τμήματα των
DWARF ELF που περιέχουν
πληροφορίες debug (δημιουργούνται από το μεταγλωττιστή), και
το ctfmerge
συγχωνεύει τα
τμήματα CTF και ELF από τα
αντικείμενα σε άλλα εκτελέσιμα ή κοινόχρηστες βιβλιοθήκες.
Περισσότερες πληροφορίες για την ενεργοποίηση των παραπάνω στη
μεταγλώττιση του πυρήνα και του συστήματος του FreeBSD, θα δούμε
παρακάτω.
Στο FreeBSD κάποιοι παροχείς είναι διαφορετικοί σε σχέση με το
SolarisTM. Ο πιο αξιοσημείωτος είναι ο παροχέας
dtmalloc
ο οποίος επιτρέπει το tracing του
malloc()
ανάλογα με τον τύπο του, στον πυρήνα του
FreeBSD.
Μόνο ο root
μπορεί να χρησιμοποιήσει το
DTrace στο FreeBSD. Αυτό σχετίζεται με διαφορές στην ασφάλεια, καθώς το
SolarisTM διαθέτει κάποιους ελέγχους ασφάλειας χαμηλού επιπέδου, οι
οποίοι δεν υπάρχουν ακόμα στο FreeBSD. Για το λόγο αυτό, η χρήση της
συσκευής /dev/dtrace/dtrace
απαγορεύεται
αυστηρά για όλους τους χρήστες εκτός από τον
root
.
Τέλος, το λογισμικό DTrace βρίσκεται υπό την άδεια
CDDL της SunTM. Μπορείτε να διαβάσετε το κείμενο
της άδειας Common Development and Distribution
License
στο FreeBSD, στο αρχείο
/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE
ή να το διαβάσετε online στη διεύθυνση
http://www.opensolaris.org/os/licensing.
Η άδεια ουσιαστικά σημαίνει ότι ένας πυρήνας FreeBSD με τις επιλογές του DTrace, εξακολουθεί να βρίσκεται υπό την άδεια BSD. Ωστόσο το CDDL εμπλέκεται τη στιγμή που γίνεται διανομή των αρθρωμάτων σε δυαδική μορφή, ή τη στιγμή που φορτώνονται.
Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την
τεκμηρίωση πριν να επικοινωνήσετε με την
<questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην
<doc@FreeBSD.org>.