Noha a FreeBSD alatt megtalálható DTrace implementáció nagyon hasonló az eredeti, Solaris™ alatt futó változathoz, tartalmaz bizonyos különbségeket, amelyeket a továbblépés előtt mindenképpen érdemes megemlítenünk. Az egyik legfontosabb ilyen szembetűnő különbség, hogy a FreeBSD esetén a DTrace használatát külön engedélyezni kell. A DTrace megfelelő működéséhez tehát a rendszermag konfigurációs állományában meg kell adnunk bizonyos beállításokat és modulokat kell betöltenünk. Ezekről hamarosan szó lesz.
A rendszermag konfigurációs
állományában a DDB_CTF
opció segítségével tudjuk
engedélyezni ún. CTF adatok
betöltését mind a rendszermag
moduljaiból, mind pedig magából a
rendszermagból egyaránt. A CTF a
Solaris™ „Compact Type Format”
elnevezésű formátumára utal, amellyel
például a DWARF
megoldásához hasonló módon
tárolhatunk tömörített alakban
különböző típusú
nyomkövetési információkat. Ilyen
CTF adatok többek közt a
ctfconvert
és a
ctfmerge
használatával
rendelhetőek hozzá bináris
állományokhoz. A ctfconvert
segédprogram a fordítóprogram által az
ELF állományokban szereplő
DWARF típusú szakaszokban
tárolt információkat képes beolvasni,
és a ctfmerge
a
tárgykódban található
CTF típusú ELF
szakaszokat tudja végrehajtható
állományokká vagy osztott
könyvtárakka összefűzni. Röviden
beszélni fogunk arról, hogyan lehet mindezeket a
FreeBSD alaprendszerébe és rendszermagjába is
beépíteni.
FreeBSD és Solaris™ esetén előfordulhat, hogy
más fajta providerek állnak
rendelkezésünkre. Ezek közül talán a
legfontosabb a dtmalloc
, amely a FreeBSD
rendszermagjában típus szerint teszi
lehetővé a malloc()
függvény követését.
FreeBSD alatt kizárólag csak a
root
tudja használni a DTrace-t. Ennek
oka a két operációs rendszer
biztonsági megoldásai közti
különbségekben keresendő, mivel a Solaris™
esetén létezik néhány olyan
alacsonyszintű ellenőrzés, amely a
FreeBSD-nél még nincs. Ezért
például a /dev/dtrace/dtrace
eszköz szigorúan csak a root
számára érhető el.
Végezetül megemlítjük, hogy a DTrace
felhasználására a Sun™ CDDL
licence vonatkozik. A Common Development and
Distribution License
FreeBSD a
/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE
állományban található, vagy interneten
keresztül a http://www.opensolaris.org/os/licensing
címen.
Ezen licenc értelmében a DTrace támogatással készített FreeBSD rendszermagok továbbra is BSD licencűek maradnak, azonban a rendszerrel terjesztett binárisok futtatásakor vagy a modulok betöltésekor már a CDDL érvényesül.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.