@@TITLE What Does It Do?@@
DGD is able to fully recompile all code in place, if you meet certain restrictions. The Kernel Library, used properly, makes sure that you obey those restrictions. There's no way to violate them, in fact, if you don't modify anything under ⁄kernel, because the Kernel Library simply won't allow you to. So the Kernel Library helps make sure that all your code can be upgraded instantly and in-place.
The Kernel Library also provides security. If you've got code and data files in your directories, you'd like it if other administrators and builders can't change them, and for some of the files, you don't want other admins (or their objects and programs) to be able to read them. The Kernel Library prevents that, not only for your files but also for your compiled programs running in memory. That means you don't need to worry as much about trusting other administrators in the game, since they can't mess up your stuff.
The Kernel Library also provides certain kinds of object management support and user management support. You can register an object manager with the library, and the Kernel Library will call hook functions in your object manager whenever files are compiled, inherited or included so that you can do the rest of the work necessary to upgrade every object in place (you can also use somebody else's object manager, but it still needs the Kernel Library). The Kernel Library will keep track of user connections and disconnections, and provide you with a nice interface to it. There are similar facilities to track errors, and cause all programs to implicitly inherit an AUTO-type object of your choice.
The Kernel Library will also keep track of resource usage for every administrator in the game. The amount of memory space and processor time and the number of DGD objects are tracked automatically, as are several more obscure commodities. It's easy to add more resource tracking for things like in-game money or power of monsters to keep your administrators and their areas from spawning too much of a good thing.
There are some additional functions defined by the Kernel Library for creating signals which an object can send and other objects can subscribe to. That allows for various events occurring, and provides an infrastructure to make it happen in code.
@@INCLUDE could_it_work_1@@
@@INCLUDE could_it_work_2@@
@@INCLUDE could_it_work_3@@