Those are some pretty broad questions! Here is not too bad of a place to ask. I'll start by giving a really rough shot at each (and will probably make some mistakes).
dll = dynamically linked library
-a compiled 'program' except that it's only part of a program. It gets executed by being attached into other programs while they are running. The reason for having it seperate is so that many programs can use the same library.
kernel
-the central piece of an operating system. It runs at the lowest level and manages a number of things, some of which are the hardware, the filesystems, running processes, memory managment and user authentication. Whatever is not in the kernel is in 'user space' which means being a process managed by the kernel. Various operating systems move different things in and out of the kernel. For instance, filesystems can be implemented in user space and guis can be implemented in the kernel. But really defining a kernel should get much more in depth than this and I'm not a kernel developer.
registry
-basically a big place to store and easily retrieve configuration data. Windows uses it, for instance, to keep track of the documents in your "Most Recently Used" list. An app you write can use the registry to store user preferences.
Edit: Oh, and wikipedia usually helps me out with computing terms I don't understand. You shouldn't generally take it to be authoritative on anything specific, but it points you in the right direction and gives you lots of other places to visit and learn.