From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <3e1162e60601190805h73e4526m38cfbd0cb35e47ba@mail.gmail.com> Date: Thu, 19 Jan 2006 08:05:34 -0800 From: David Leimbach To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] GNU binutils: you can't make this shit up In-Reply-To: <20060119082946.19064.qmail@web32707.mail.mud.yahoo.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_3447_16786802.1137686734469" References: <1137592834.4113.11.camel@localhost.localdomain> <20060119082946.19064.qmail@web32707.mail.mud.yahoo.com> Topicbox-Message-UUID: e0173784-ead0-11e9-9d60-3106f5b1d025 ------=_Part_3447_16786802.1137686734469 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline 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 switche= d 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 i= t 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=ED=B9e v =C8t 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 > ------=_Part_3447_16786802.1137686734469 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline

On 1/19/06, Eirik Johnson <falmar= ian@yahoo.com> wrote:
There is something to be said for microkernels
they allow for a lot less= headaches with kernel
development, and it could drastically improve pla= n 9's
portability, a key feature.


Disagree, to = some extent.  Microkernels tie you down to a particular set of abstrac= tions for writing OS code.  I think a lot of time is spent trying to f= igure out how to morph the primitives that are exposed by the microkernel A= PI into what you're trying to express in your kernel.

EROS, for example, multiplexed a single system call to create all t= he OS primitives for the system.
L4 really only has 7 system calls, but = also has several APIs available that combine things in different, and hopef= ully not pessimistic ways to make things easier.  It's a layer of abst= ractions on another layer of abstractions.

 
Also, the multi-server approach taken by the GNU/Hurd
is innovative a= nd well suited to SMP and distributed
environments.  However, the FSF has a role and the GNU
pro= ject is (and should be) a side project for them.
The real problem with i= t, though, is that C (like plan
9) was designed with portability as a ma= jor 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 cause= d very serious problems with development.  For a long time, possibly e= ven still today you were limited to 2GB partitions.  Also there was no= pppd driver.  I have a hunch that their multi-server design stuck the= m into a place where these things became hard to do correctly.  I have= seen 2 different patches floating around for Hurd to add >2GB partition= s as well as pppd [borrowed from FreeBSD in fact] but neither seemed to mak= e 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 u= seful 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 :).&nbs= p; This might be really good in certain embedded applications, who knows.&n= bsp;=20

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 l= ike it may also get ported to L4.

There's no magic wand for OS devel= opment. =20
--- alexandr = babic <alexandr@babi.cz> wrot= e:

> i think 9fans should write plan9 native programs not
> t= rying other waste
> to import.
>
> alexandr.
>
&= gt;
> Bruce Ellis p=ED=B9e v =C8t 19. 01. 2006 v 00:45 +1100:
>= > anyone who is serious trying anything starting
> with "g" with
> > kenc (apart from "grep&q= uot;) is barking up the wrong
> > mountain ave.
> >
&g= t; > brucee
> >
>
>
>


____________= ______________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best sp= am protection around
http://mail.yahoo= .com

------=_Part_3447_16786802.1137686734469--