creo que originalmente es la fantasia que todos tenemos cuando empezamos a programar...
para empezar necesitas saber muchisimo c/c++, programacion concurrente / programacion multihilo, libros sobre sistemas operativos (starling - tenenbuam, etc, son buenos) y por sobre todas las cosas si tenes pensado hacerlo solo mucho mucho tiempo...
como recomendacion si ya tenes todos esos conocimientos te aconsejo que modifiques sistemas operativos (codigo abierto) llamase distros de linux o el interesantisimo reactOS (basado en wine) .
saludos y espero que te sirva de ayuda...
MAnu