4 ms·
I used to give some thought to OS design some time ago (I'm a hobbyist OSdev). I've come to a more conservative point of view: what problem do we try to solve w
by dmytrish 13y ago
I used to give some thought to OS design some time ago (I'm a hobbyist OSdev). I've come to a more conservative point of view: what problem do we try to solve with the new system design? Are our systems large and flabby enough to fall apart from within under their own weight? Are there profound hardware changes that require architectural re-thinking?
An OS kernel by definition is a small layer of hardware resources management/abstraction software. Has hardware changed? Yes and no. The most prominent changes are multi-core CPUs, ubiquitous networking, a lot of peripheral devices, support for OS virtualization, but generally hardware architecture is not that far from 70s when Unix was invented. From the software side: the beauty of programming is in its abstraction power and most of software progress is advancing at levels abstracted far from OS (html5/virtual machines/language environments/etc). So, I don't see a burning need for changing the underlying service layer. Microkernels are nice, language-based systems are nice also, but their time has not come yet, the inertia of existing code base is huge, so the incentive to depart from it must be also huge.
I agree that user-space level organization may be more consistent from modern point of view, but it's not clear where to head. Ideas are welcome, but power of organic evolution also should not to be underrated.