If you read Dyson's explanation for leaving [freebsd.org], you'll see he is quite the pessimist with regard to basically any project he's not working on. He's an extremely intelligent man, but he isn't criticizing a lot of the time on merit.
It also shows that his viewpoint hasn't changed in the few years since he's left. There are several very key architectural changes that make FreeBSD much less like a traditional monolithic kernel. One of the biggest is the changes, planned for a long time, that are now to be implemented with help from the BSDi people and the BSD/OS SMPng (5.0) kernel. Priority levels (splhigh(), splx(), etc.) are disappearing and will be replaced by very mutexes allowing much better SMP. Along with this, the interrupt model will be changing to interrupt threads, where each interrupt gets its own lightweight kernel thread.
In addition, pthreads are to be reimplimented using scheduler activations and (probably) a hybrid kernel/user thread model where the ratio of actual "processes" to threads will not be 1:1 like LinuxThreads or 1:many like the current pthreads implementation; the ratio will most likely be many:many which would allow for much nicer scaling than either of the other.
Don't look at things as short-sightedly as John Dyson likes to. There's a lot going on at a very fundamental level to improve what he thinks wouldn't be improved.
Re:Unstable Implementation (Score:4)
If you read Dyson's explanation for leaving [freebsd.org], you'll see he is quite the pessimist with regard to basically any project he's not working on. He's an extremely intelligent man, but he isn't criticizing a lot of the time on merit.
It also shows that his viewpoint hasn't changed in the few years since he's left. There are several very key architectural changes that make FreeBSD much less like a traditional monolithic kernel. One of the biggest is the changes, planned for a long time, that are now to be implemented with help from the BSDi people and the BSD/OS SMPng (5.0) kernel. Priority levels (splhigh(), splx(), etc.) are disappearing and will be replaced by very mutexes allowing much better SMP. Along with this, the interrupt model will be changing to interrupt threads, where each interrupt gets its own lightweight kernel thread.
In addition, pthreads are to be reimplimented using scheduler activations and (probably) a hybrid kernel/user thread model where the ratio of actual "processes" to threads will not be 1:1 like LinuxThreads or 1:many like the current pthreads implementation; the ratio will most likely be many:many which would allow for much nicer scaling than either of the other.
Don't look at things as short-sightedly as John Dyson likes to. There's a lot going on at a very fundamental level to improve what he thinks wouldn't be improved.
--