[newbie]system programming ?

Andrew J Bromage andrew@bromage.org
Fri, 7 Sep 2001 01:56:18 +1000


G'day all.

On Thu, Sep 06, 2001 at 07:39:18AM -0700, Richard wrote:

>   [list of extension to the Linux kernel]

They weren't extensions to the Linux kernel.  Gemini, for example, is
an exokernel-based operating system.

> No.  None of the functional programming languages are competitive with
> procedural languages in programming of traditional kernels.

While that's true, modern microkernels extend themselves using user
programs rather than kernel extensions.  Admittedly they are slightly
more privileged user programs than normal, but still user programs.

There is nothing stopping you implementing said extensions using
whatever language you like, given appropriate bindings for the
various operating system services that you need to do the job.
I believe there is a project going to do precisely this with ML,
based on the Flux OSKit.  You might be interested in Albert Lin's PhD
thesis which covers some of what they're doing:

	http://foo.ne.mediaone.net/lin-thesis.ps

Having said that, Haskell (and GHC in particular) is probably not
well suited to this task.  Not yet, at least.  The last thing you
want your device drivers to do is garbage collect in the middle of
an interrupt handler. :-)

Cheers,
Andrew Bromage