I'm not very good with drawing at the keyboard, so I'll try explaining
what each of are.
A kernel is the key program that enables an operating system to work.
It does things like provide basic input and output, supports drivers
for various hardware, manages memory, assigns cpu time and gives access
to a shell to users after they login.
A shell is a program that is designed to interact with a human that
lets you run applications or scripts. The word shell is sometimes
used to refer to the program (such as bash or csh) and sometimes used
to refer to a user session which is running the program. So you can
say that you get a shell after logging in successfully, and bash is
the default shell.