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:
- The entire Intel x86 instruction set, focusing specifically on having a deep understanding of Virtual Memory, Pagetables, and Interrupt Handling (drivers).
- The entire standard Intel BIOS boot sequence. Understand exactly what happpens in the moments immediately after you turn your computer on.
- Disks & Filesystems. You'll need to understand how to read and write to the disk for your initial boot sequence, and you'll also likely end up writing a rudimentary on-disk filesystem for storing program files, swapping, etc.
- Device Drivers. How are you going to write characters to the screen? What hardware are you going to support? Network Cards? Display Adapters? USB? The list is longer than you might expect.
- Compilers. Much of your initial code will be in Assembly, but after your OS reaches a reasonable amount of abstracted complexity, you'll be able to start using compiled code. Choose any language that compiles directly to machine bytecode (C and C++ are good choices, but there are others).