Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Just one example: the Minix kernel is 'root aware' which makes it hard - or even impossible - to switch out the root file system while the OS is running. The same goes for the process scheduler/interrupt handler which is a 'hard' part that can never be upgraded while the system is running, and is responsible for a fair amount of latency on the way from interrupt to the actual handler in the device driver (and not the stub). Device drivers that can not handle interrupts directly are going to be (much) slower than device drivers than can handle the interrupts themselves.

By the way, my Minix knowledge is somewhat dated, I always thought that it had huge potential if the 'holy houses that Andrew built' would have been allowed to be pushed over, even if that would come at the price of POSIX compatibility, which as far as I'm concerned is overrated if it is the thing that holds us back from having an ultra reliable field upgradeable operating system. The big problem with POSIX is 'fork', it more or less assumes that you're looking at UNIX and fork was a kludge all along that just happened to solve a couple of nasty little problems that have to do with file descriptors. It's one of those 'leaky abstractions' that end up haunting you forever if you do not address them immediately and decisively. But because POSIX compliance is what got Minix established in the first place it became very hard to let go of that. Plan 9 suffers from the same issue by the way.

https://en.wikipedia.org/wiki/Fork_(system_call)

I'm all for reliability over performance, unfortunately the rest of the world seems to disagree with me.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: