To write an OS from scratch, you'll need deep knowledge of both Computer Engineering and Computer Science. If this is truly your goal (and you have no CE or CS experience at all) then you'll need to start from the ground up.
One very good place to start would be with a small 8-bit or 16-bit embedded microcontroller like the Atmel (company) Atmel AVR used in the Arduino (company)boards. Purchase one of these kits, and learn how to program them directly in assembly language. These chips lack many of the sophisticated features of modern hardware (like virtual memory), but you can still come up with many interesting OS-like tasks. Implement a rudimentary filesystem, interrupt handling routines and helpers, possibly even a simple process manager. After you feel like you have a good grasp on these machines bytecode, you can move on to writing more sophisticated code via a C compiler.
Once you've mastered your tiny microcontroller, you'll need to step it up to bigger machines with more sophisticated hardware. I'd recommend finding a local University Bookstore and investigating which textbooks they use for their introductory Computer Engineering courses, and start there. Assuming you're going to be writing an OS for an Intel-based architecture, you'll need to learn:
Comunication is the art of combine information
Imagination is the mental capacity to picture things.
Hall of Fame
if you havn´t new ideas then you need learn new stuff.