So, cliche as it may be, I think we've all had those "gotcha" moments in programming, where, when exploring a new language, be it Lisp, Prolog, Haskell, etc, our proverbial minds are "blown." For me, learning about functional programming completely changed my understanding of what it means to write a program, and what exactly a program is to begin with.
Unfortunately, probably due to being a much less obscure activity, there doesn't seem to be any equivalent list (I know of) in the OSDev world, of OSes to "blow your mind." There is somewhat (vast understatement) of a monoculture surrounding UNIX, even in the academic world, and even rather well educated people seem to think that the UNIX was not simply the best way to do things, but the only way. This is not to say that OSes like UNIX are in anyway bad, but at the same time, it's always a good idea to try and avoid myopia. And to be clear, I'm not saying that UNIX is popular by no merit of it's own, I think there is definitely a reason why the UNIX style has come to be so universal. Nevertheless, my ultimate goal in OSDeving is to have fun, explore, and if I'm lucky, learn something on the way, in roughly that order. So in short, what I want to know is what are, in your opinions, the most bizarre, out-there, off-the-wall OS designs? Obviously, sometimes there's a reason things are done a certain way, but seeing WHY this is, and examples of failures to try and do things differently can be incredibly enlightening. Anyway, yeah, right now, the most 'unusual' (for me) design I've been reading about has been capability based OSes, in particular the J. Shapiro family of OSes. I've also been really amazed by IBM's OS/400 (even with its, ehm, more "unusual" features).
Really interested to hear everyone's responses!
|