From: "B. Douglas Hilton" <doug.hilton@engineer.com>
Subject: Re: Ada Microkernel?
Date: Sun, 03 Jun 2001 01:31:22 -0400
Date: 2001-06-03T01:31:22-04:00 [thread overview]
Message-ID: <3B19CBAA.737F6216@engineer.com> (raw)
In-Reply-To: ndeS6.13143$HL5.1649738@news6-win.server.ntlworld.com
Ok, let me mull this over for awhile amd figure out what to do.
It seems to me like building a microkernel with Ada should be
a rather pleasant task. Except I want to make it plug and play for
Debian/Hurd, and I really want to use OSKit for my hardware
drivers.
This implies a strong linkage between C OSKit drivers and
mostly alien Ada code ( as far as the driver world is concerned. )
Still, this is a great project. If OSKit-Mach could be redone in
Ada, and still provide mach.h and MIG, then the Debian/Hurd could
actually be ported to an Ada Mach-comaptible microkernel.
Currently, Roland McGrath is the Hurd equivalent of Linus, and
it is exceedingly difficult to hack the GNUMach or OSKit-Mach
sources. Basically nobody except he really understands the new
Hurd microkernel.
I would like to change this. The Hurd is supposed to be the OS
for the rest of us. I think Hurd's kernel should be written in some
better language ( such as Ada ) so that it is easier to modify in
the future.
Have you tried Hurd yet? A 1Gb partition will get you going!
Download Hurd at http://www.debian/org/ports/hurd
Unfortunately, GNATS has not yet been ported to Hurd, but I
can attest to the platform's viability as I can boot Hurd and run
X11 and it really does work.
- Doug
"chris.danx" wrote:
> You don't need to have system level calls specifically for C applications, you
> have system level calls for all applications (not just C ones). There's nothing
> special about C applications that means you have to have a special format for
> them. If i were you I'd make the API Ada styled (strongly typed and well
> defined! None of this "words are all you need" that you see in C based OS
> api's.
>
> The message passing systems used in microkernels (just one way of communication
> possible) seem to work well. I've decided to take the standard message passing
> system(mailboxes) and try something that i've been told has been done in QNX and
> Beos. The idea is like pattern matching from functional languages and a bit
> like dynamic typing. It goes like this.
>
> Module A sends a message to B to do X.
>
> X can have more than one form, dependant on the types passed in. You check the
> types of the items passed in (each item must have a type descriptor accompanying
> it) and X gives control to the appropriate routine. If no routine is found you
> get an error (haven't really got a good idea about how to handle this,
> technically it should never happen but that doesn't mean it will never happen).
> You might want to consider something like this in an OS if your doing one.
>
> You could extend it to the API if you liked too. (which is why i mentioned it).
>
> Chris Campbell
next prev parent reply other threads:[~2001-06-03 5:31 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-02 1:09 Ada Microkernel? B. Douglas Hilton
2001-06-02 2:11 ` DuckE
2001-06-02 2:25 ` Gerhard Häring
2001-06-02 2:41 ` Ted Dennison
2001-06-02 5:09 ` Dale Stanbrough
2001-06-02 21:31 ` B. Douglas Hilton
2001-06-02 23:21 ` chris.danx
2001-06-02 11:07 ` chris.danx
2001-06-02 20:30 ` McDoobie
2001-06-02 21:20 ` B. Douglas Hilton
2001-06-02 21:41 ` B. Douglas Hilton
2001-06-03 1:09 ` James Rogers
2001-06-02 23:00 ` chris.danx
2001-06-03 5:31 ` B. Douglas Hilton [this message]
2001-06-03 11:45 ` chris.danx
2001-06-03 22:54 ` Didier Utheza
2001-06-03 23:23 ` Florian Weimer
2001-06-04 14:37 ` Ted Dennison
2001-06-04 11:52 ` Chris Campbell
2001-06-09 23:54 ` McDoobie
2001-06-10 1:16 ` Chris Campbell
2001-06-10 7:13 ` Gerhard Häring
2001-06-10 12:14 ` Samuel Tardieu
2001-06-10 17:00 ` chris.danx
2001-06-11 20:54 ` chris.danx
2001-06-11 20:58 ` chris.danx
2001-06-11 22:30 ` tmoran
2001-06-11 22:35 ` chris.danx
2001-06-11 23:24 ` Robert A Duff
2001-06-12 20:57 ` Randy Brukardt
2001-06-11 21:38 ` Ted Dennison
2001-06-11 21:44 ` chris.danx
2001-06-12 3:09 ` DuckE
2001-06-12 10:39 ` Jeff Creem
2001-06-11 23:22 ` Robert A Duff
2001-06-12 9:58 ` chris.danx
2001-06-12 17:27 ` tmoran
2001-06-13 10:31 ` Colin Paul Gloster
2001-06-23 14:58 ` Stefan Skoglund
2001-06-24 0:22 ` B. Douglas Hilton
2001-06-28 8:30 ` Fr�d�ric BOYER
2001-06-28 9:50 ` M. A. Alves
2001-06-28 14:21 ` Ted Dennison
2001-06-28 14:39 ` Wes Groleau
2001-06-28 15:01 ` Marin David Condic
2001-06-28 17:45 ` Tarjei Tj�stheim Jensen
2001-06-28 19:03 ` Marin David Condic
2001-06-28 19:15 ` Marin David Condic
2001-06-28 21:52 ` Ted Dennison
2001-06-29 13:16 ` Marin David Condic
2001-06-29 14:59 ` Ted Dennison
2001-06-29 15:22 ` Marin David Condic
2001-06-29 18:21 ` Ted Dennison
2001-07-02 13:50 ` Marin David Condic
2001-07-02 16:57 ` OPERA
2001-06-29 4:37 ` Brian Catlin
2001-06-29 13:18 ` Marin David Condic
2001-06-29 15:09 ` Ted Dennison
2001-06-29 2:45 ` Gerhard Häring
2001-06-29 2:32 ` Gerhard Häring
2001-06-28 10:55 ` chris.danx
2001-06-28 17:55 ` Tarjei Tj�stheim Jensen
2001-06-29 10:29 ` Fr�d�ric BOYER
2001-07-02 7:13 ` Tarjei T. Jensen
2001-06-29 14:26 ` Ted Dennison
2001-07-02 7:11 ` Tarjei T. Jensen
2001-07-02 13:25 ` Ted Dennison
2001-07-05 21:37 ` Tarjei Tj�stheim Jensen
2001-07-07 23:22 ` Stefan Skoglund
2001-07-09 13:51 ` Ted Dennison
2001-06-11 14:53 ` Ted Dennison
-- strict thread matches above, loose matches on Subject: below --
2001-07-03 18:05 Michael Erdmann
2001-07-03 18:20 ` Ted Dennison
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox