On 1/19/06, Eirik Johnson wrote: > > There is something to be said for microkernels > they allow for a lot less headaches with kernel > development, and it could drastically improve plan 9's > portability, a key feature. Disagree, to some extent. Microkernels tie you down to a particular set of abstractions for writing OS code. I think a lot of time is spent trying to figure out how to morph the primitives that are exposed by the microkernel API into what you're trying to express in your kernel. EROS, for example, multiplexed a single system call to create all the OS primitives for the system. L4 really only has 7 system calls, but also has several APIs available that combine things in different, and hopefully not pessimistic ways to make things easier. It's a layer of abstractions on another layer of abstractions. > Also, the multi-server approach taken by the GNU/Hurd > is innovative and well suited to SMP and distributed > environments. However, the FSF has a role and the GNU > project is (and should be) a side project for them. > The real problem with it, though, is that C (like plan > 9) was designed with portability as a major feature, > and the GNU extensions in GCC aren't helping > portability. It's kinda like microsoft's C#, they may > be wonderful features, but you missed the whole point. True, and this may have caused very serious problems with development. For a long time, possibly even still today you were limited to 2GB partitions. Also there was no pppd driver. I have a hunch that their multi-server design stuck them into a place where these things became hard to do correctly. I have seen 2 different patches floating around for Hurd to add >2GB partitions as well as pppd [borrowed from FreeBSD in fact] but neither seemed to make it into into the main source tree because, it just wasn't quite correct. At some point, HURD developers became so frustrated with Mach, they switched to L4. I followed a lot of this development as a lurker... and I'd have to say that it doesn't look good again for progress and people inside FSF are questioning the design *again*. Now those examples aside, I know for a fact you can write useful OSes with a microkernel. I've seen and used a few of them. Someone even took the Io programming language and ported it to L4 to make what appears to be something on the lines of a ROM BASIC for an OS :). This might be really good in certain embedded applications, who knows. Also the HoP/House project, which takes the GHC Haskell runtime and turns it into an OS via a special Monad for hardware abstractions, looks like it may also get ported to L4. There's no magic wand for OS development. > --- alexandr babic wrote: > > > i think 9fans should write plan9 native programs not > > trying other waste > > to import. > > > > alexandr. > > > > > > Bruce Ellis píše v Čt 19. 01. 2006 v 00:45 +1100: > > > anyone who is serious trying anything starting > > with "g" with > > > kenc (apart from "grep") is barking up the wrong > > > mountain ave. > > > > > > brucee > > > > > > > > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com >