So I guess I'm curious, what are DLL's(Dynamically linked libraries right?), and what are they used for and why? And what exactly is a kernal? Its a program that communicates between software and hardware right, and would a regular programmer ever right a kernal program?? I'm just looking for a nutshell description to these questions. Thanks!