Write code.
I know that seems like a dumb response, but I'll explain what I mean.
An author (Terry Pratchett I think) once said in an interview that people aspiring to be writers kept asking him for advice, and that the advice he always gave was to write. Not write a novel, just to write a few hundred lines a day.
OS programming is quite different (IMHO) to application programming, there are a lot of pitfalls and subtleties to learn about and deal with.
So yes, do the research, do the design work, but for god's sakes write some code at the same time. It doesn't matter if you throw it all away for something that fits better with your final design, the exercise will be worthwhile and give you better insight into what you want in that final design. It's all too easy to fall into the trap of following flights of fancy with paper designs whilst forgetting to ever code anything (There are many OS projects with a large website of documents, but only a bootsector of working code, dreaming of being the next big thing). If programming is art not science (As I believe) then you can think of this type of programming as your rough sketches, that will hopefully provide reference for your final masterpiece
.