It seems to me that the most common overly ambitious project that programmers (esp. Comp. Sci. grads) try to tackle is building your own operating system. (Trying to create your own programming language + compiler is probably even more common but not nearly as ambitious.)
For those (like myself) foolish enough to try: aside from the sheer size, what are the biggest gotchas or unexpected roadblocks you've encountered in trying to create your own OS from the ground up?
Edit: A great OS question: What are some resources for getting started in operating system development?
Being able to speak from actual experience (AROS, the biggest obstacles are:
So if you plan to write your own OS, you should consider this:
Been there, done that. The biggest obstacle, for me at least, was device drivers. Coding the OS core is the "fun part", however it is useless without being able to do I/O (disk, keyboard, video, network, at least). Today, if I again had the time and will to engage into such project, I'd probably target Xen VM instead of the raw hardware -- if for nothing else, then because it hides many ugly idiosyncrasies of x86 as well as hardware. Xen presents a nice uniform, hardware-independent view of I/O devices, and still gives you enough freedom to play with the "interesting" OS parts (mm, process management, synchronization, interrupts, etc).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With