Un sistema operativo moderno completo, obviamente no, pero un kernel un poco rudimentario que haga las cosas más básicas tipo microkernel, claro que se puede. En los foros de osdev.org mucha gente tiene su kernel de "hobby". O mira el código de la versión 1.0 de linux, si quitas la parte de los drivers, el resto "no es para tanto".
Si de verdad te interesa, te recomiendo que leas de Tanenbaum: Sistemas Operativos, Diseño e implementación y Sistemas Operativos Modernos. En osdev.org también tienes mucha información para leer y tutoriales prácticos para programar. Siguiendo este tutorial http://www.jamesmolloy.co.uk/tutorial_html/, entendiendo bien lo que hace el código, corrigiendo los muchos errores que tiene etc. cuando lo termines tendrás una buena base para seguir por ti mismo y un buen conocimiento de como funciona un kernel en la práctica.
Si de verdad te interesa, te recomiendo que leas de Tanenbaum: Sistemas Operativos, Diseño e implementación y Sistemas Operativos Modernos. En osdev.org también tienes mucha información para leer y tutoriales prácticos para programar. Siguiendo este tutorial http://www.jamesmolloy.co.uk/tutorial_html/, entendiendo bien lo que hace el código, corrigiendo los muchos errores que tiene etc. cuando lo termines tendrás una buena base para seguir por ti mismo y un buen conocimiento de como funciona un kernel en la práctica.