25.2. Eltérések az implementációban
Vissza | 25. fejezet - DTrace | Előre

## 25.2. Eltérések az implementációban

Noha a FreeBSD alatt megtalálható DTrace implementáció nagyon hasonló az eredeti, SolarisTM 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 SolarisTM "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 SolarisTM 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 SolarisTM 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 SunTM 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.

Vissza | Fel | Előre
25. fejezet - DTrace | Főoldal | 25.3. A DTrace támogatásának engedélyezése

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>.