Hi mate,
so you wanna create your own operation system, hmm...I don't know what your programming skills are, but this is certainly not for the rookie programmer..
You need to be skilled especially in the assembler language to be able to create really fast and powerful OS core. Then you're gonna have to write hardware device code, to be able to manipulate the hardware components. When I was studying at the university, I was assigned to the project, where we had to write simple WIN32 hardware device upon an easy VGA graphic card...Hey man, what can I say, that was nightmare!.
..How someone said in this thread....I'm sure that you don't wanna do this as well..:-) But If you just want to study an LINUX Open source, then go ahead...:-)
Good luck in studying
Best wishes
JCD