Sei ambizioso, ma ricorda che prima di correre, è meglio imparare a camminare.
Il primo consiglio che sento di darti è quello di curare il tuo inglese tecnico. Ovunque troverai documentazioni validissime in inglese, l'italiano purtroppo è poco parlato negli ambiti informatici.
Poi dovrai studiare ed esercitarti su piccole cose, fino a padroneggiare almeno un linguaggio di programmazione, e nel frattempo potrai già frequentare le pagine che parlano di sviluppo software: vai a curiosare sui forum per programmatori, potrai raffinare trucchi e soddisfare curiosità che non si trovano sui libri.
Inizialmente potresti scoraggiarti: leggere e non capire fa male, ma tieni duro, è tutto molto meno oscuro di quel che sembra in superficie. Arriverà il momento che ti sembrerà di poter rispondere alla richiesta di aiuto di qualcuno, magari un oscuro programmatore alle soglie dell'esaurimento perché non riesce a portare in gcc per linux una vecchia applicazione msdos infarcita di assembler online... A quel punto, te ne sarei molto grato! ;-)
Per il tuo sistema operativo, comincia dal kernel: potresti spiare il lavoro che sta facendo il gruppo che si occupa di hurd, il nuovo kernel con marchio gnu, che vorrebbe sostituire il kernel linux... La home del progetto la trovi qui: http://www.gnu.org/software/hurd/
Strumenti di sviluppo? Compilatore gcc, naturalmente, magari con un'interfaccia grafica (GUI) adeguata... se ne trovi una, fammi un fischio! Ormai mi sono quasi rassegnato alla linea di comando ed alla scrittura manuale di ogni singola riga di ogni file di make...
In bocca al lupo!