I was tired to read 4000000 lines of Linux kernel to learn.
I did write 1500 lines "nanokernel" for more easy learning just the basics. At least I did try to make some effort for documentation.
It is not a full scale operating system (simulated no device drivers) at all but includes:
  • priority based scheduling- pre-empive for set of test tasks (newest version also round robin)
  • example of context-switch, interrupt handlers....
  • TLB- fault handling
  • very simplified demand paging
  • 17 system calls mainly for inter process communication (IPC)- embedded system style approach (semaphores, message passing....)
  • shared memory for IPC
  • fork call
  • ........
Documentation and download :
This site do not seem to support links????
ask: isosika@live.com

The processor can be exotic but the principles are always the same.

Have a fun: Tuomo K