Las cosas de minix son bastante buenas. Un ejemplo más simple es el material de MicroC/OS. Viene con un libro de texto que entra en buen detalle, toda la fuente está allí. Tiene los elementos básicos allí y el código es lo suficientemente pequeño como para que pueda entenderlo en un período relativamente corto de tiempo.
http://www.micrium.com/products/rtos/kernel/rtos.html
http://en.wikipedia.org/wiki/MicroC/OS-II
Otra cosa que puedes hacer, es hacer unos falsos cabo OS en una aplicación en Linux. Hice esto configurando el tic básico con un itimer, luego intercambiando hilos con la función llamada swapcontext (man 2 swapcontext) que guardará los regs en la pila. Eso saca lo feo del camino y te queda implementar los semáforos/mutexes/timers y todo eso. Fue muy divertido.
A pesar de lo que dicen algunas de las publicaciones, el ensamblador no es necesario. El conocimiento de eso siempre ayudará.Nunca está de más entender cómo funcionan las funciones internas/complementos/etc. cuando está escribiendo incluso aplicaciones de alto nivel.
Semáforos, bloqueos y variables de condición no son mecanismos de comunicación entre procesos y no tienen nada que ver con la red. –
sí, lo sé y estoy de acuerdo con usted, pero solo lo menciono como un libro de referencia para el tema mencionado que vale la pena, mire el libro :) – Afridi