Is there any small kernel good enough for learning osdev?
http://www.stanford.edu/class/cs140/projects/pintos/pintos.html
PintOS is another addition to the above. Very simple framework and implementation is extremely simple to understand. Popularly used to introduce students to OS design and implementation.
FreeRTOS is as small as it can get. The kernel image is just 4K-9K! It is an RTOS but it will give you a fair idea about OSs in general too!
Minix is another that many prefer! Though its not that small but its quite popular in education circles!
FemtoOS might also interest you!
TinyOS also serves a similar purpose!
Most of what I've listed come from the embedded world. Because thats where size and simplicity matter!
It's not a kernel as such, but a tutorial for writing your own, so maybe you'll find it helpful:
Roll your own toy UNIX-clone OS
EDIT: The above link is no longer valid. Try this instead.