DTrace is an incredibly useful tool for safely inspecting whole systems without impacting overall performance as much as other mechanisms. It's open source and available on a wide variety of operating systems like FreeBSD, MacOS, Solaris, illumos and NetBSD. It can be used for debugging, reverse engineering or for just learning to understand the system.
I'm going to introduce DTrace and its D language by digging down into the inner workings of FreeBSD itself as it runs (e.g. memory and process management, locking infrastructure and scheduling) as well as user processes. On top of that I will use DTrace itself to illustrate how DTrace is doing its work. We are also going to take a look at some of DTraces' internals like some of the design decisions as well as the byte code that is being executed in the kernel.