take a look at:
http://wiki.osdev.org/Getting_Startedhttp://wiki.osdev.org/What_order_should ... _things_inI personally started writing a bootsector, and then I tried making a better & faster & more advanced version of Windows 7 in 16 bits real mode, expecting it to be done in maybe a month or so. Needless to say, that did't work out.
Then I tried to make a very simple snake game (still in 16bits real mode) to learn assembly a bit better, in which I succeded. After that I moved on to my current project in which I just kind of write some 32bit protected mode code all in assembly, and hope the result will look more or less like an OS (it is probably better to use C or some other high level language than to use assembly once you're in protected mode, but whatever).
I reccomend you don't set your hopes too high like I did, and start with something very basic so that you know what you're doing when you get into more complicated stuff.