comp.lang.ada
 help / color / mirror / Atom feed
From: "chris.danx" <chris.danx@ntlworld.com>
Subject: Re: Ada Microkernel?
Date: Sun, 3 Jun 2001 00:00:26 +0100
Date: 2001-06-03T00:00:26+01:00	[thread overview]
Message-ID: <ndeS6.13143$HL5.1649738@news6-win.server.ntlworld.com> (raw)
In-Reply-To: 3B1958AD.F7D7A5CC@engineer.com

>     What confounds me is how to provide system level calls for any
> C applications. Say I write my awesome Ada microkerenel, obviously
> I need to provide a C api if I want to use the GNU tools.

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





  parent reply	other threads:[~2001-06-02 23:00 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 [this message]
2001-06-03  5:31         ` B. Douglas Hilton
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