? Minix is used to teach how operating systems work, and can be used to 'roll-your-own', so to speak.QNX
may be another alternative. QNX is a real-time operating system designed for embedded applications, so it is pretty small, and well supported also. Minix uses sort of an assembly language, while QNX can be programmed with C or C++.