http://pdos.csail.mit.edu/6.828/2012/xv6.html -- read thru src code of unix v6, polished for x86 as xv6
Once done with xv6, http://zoo.cs.yale.edu/classes/cs422/pios#! -- Build a modern multi-core os kernel