OS development is fun, and you might think that by starting today you will get some results comparable to successful hobby OS'es by next month.
But in reality, it's likely to be something like that:
1998:
-Type description into a txt file
-Rename it as game.exe
-Run game.exe
-Wonder what went wrong
-Start thinking
1999:
-Get to know bat files and ansi.sys
-Call that program-off-ZIP-disk-selector an OS
-Make a calculator for it
-Make changeable backgrounds for it.
2000:
-Learn Turbo pascal
-Write better Windows, with round and triangular windows
-Write better DOS, with current directory always shown
-Write a way to load that thing from under MS Windows in windows's place
-Take over the world!
2001:
-Learn assembler
-Rewrite that tanglebox into the efficient machine code
-Figure out why BIOS can't load gif files
-Make better Windows that fit on a floppy, square windows would suffice
-Take over the world?
2002:
-Learn C
-Learn protected mode
-Learn programming and algorithms theory
-Learn what does OS means
-Learn how CPU's work
-Learn how games are really made
2003:
-Find Linux
-Learn why backups are necessary, the hard way
-Find another Linux
-Learn why rm -rf / is not the same as format C:, and why second partition does not constitute a good place to keep backups
2004-2007:
-Graduate
-Enroll in University's Computational Mathematics and Cybernetics faculty
-Discover that Operating Systems department actually teach supercomputer programming
-Learn Delphi
-Learn Java
-Learn Lisp
-Learn Prolog
-Learn FORTRAN
-Learn UML
-Implement every algorithm there is
-Make sense of Linux kernel sources
2008:
-Recover that assembler clustertangle and rewrite it into pascal
-Design a system architecture and rewrite it again
-Make way for loading programs
-Make way for loading drivers
-Learn how PC hardware works on the bottom side
-Make VFS
-Make VFAT driver
-Make floppy driver
-Make VESA driver
-Make some kind of GUI to get larger console
-Make memory manager that can release memory
-Make task manager that can wait
-Make pascal compiler
2009:
-Redesign the clusterentangle again.
-Dissolve the kernel into userspace
-Debug VFS
-Debug VFAT driver
-Debug memory manager
-Debug task manager
-Make some IPC primitives
-Rewrite "pascal" compiler into pascal compiler
-Get USB to work
-Get CDROM to work
-Make ISOFS driver read most CDROM's
-Make OpenGL renderer device
-Get significant amount of code to work for perceivable amount of time without crashing the OS
-Abandon all hope of fitting it on a floppy
2010:
-Offset common code to libraries
-Clean up and keep a consistent design
-Redesign userspace to fold on itself, with consistent interfaces and minimal code reuse
-Add compression support to the program loader and linker
-Make it fit on floppy again
-Redesign kernel affinity
-Port some games and programs into the now-stable-looking OS
-Achieve OS uptime of 1 hour while playing around with compilers and games
-Think up a way to make it all useful
-Take over the world
Yet, 11 years and 14 OS rewrites later, i'm still far from the last two goals