comp.lang.ada
 help / color / mirror / Atom feed
From: "McDoobie" <someone@nospam.net>
Subject: Re: Ada Microkernel?
Date: Sat, 02 Jun 2001 20:30:17 GMT
Date: 2001-06-02T20:30:17+00:00	[thread overview]
Message-ID: <t1cS6.16384$DG1.3250771@news1.rdc1.mi.home.com> (raw)
In-Reply-To: _M3S6.8957$HL5.1284411@news6-win.server.ntlworld.com

In article <_M3S6.8957$HL5.1284411@news6-win.server.ntlworld.com>,
"chris.danx" <chris.danx@ntlworld.com> wrote:

>> Hi group.
>>
>> I'm I Debian Hurd hacker, and am thoroughly disgustapated with the Mach
>> sources. Recently I have been redoubling my efforts to use more modern
>> languages such as Ada and Python in everything I do.
>>
>> Are there any sample microkernels written in Ada, perhaps for oskit?
> 
> Maybe MarteOS is a microkernel but i'm not sure.  It's not 100% Ada but
> the main language _appears_ to be Ada.
> 
>> I think a kernel would ultimately really benefit from being written in
>> such a robust language as Ada.
> 
> Nick Roberts thinks so too.  Check out www.adaos.org!
> 
> I too have thought of writing a microkernel in Ada and after the 11th
> June serious work on this will begin.  Lot's of OS theory and design
> have been my main focus so far.  My page holds two projects: one is
> willow a language research project and _Sorcerer_ the OS development
> project.  There won't be much up there now as i'm having to redraft and
> re-organise the site to accomodate Sorcerer (who'd have thought editing
> HTML would take so long?).  If your interested check the site on Monday
> or Tuesday by which time i should have something substantial (and a
> little FS code too).
> 
> 
>> I know this is way out of my league, but I'm sitting here dreaming
>> about rewriting GNUMach in Ada.
> 
> Why is it out of your league?  How long have you been a programmer? 
> I've never done anything substantial in hardware before (apart from some
> assembly but no x86 pmode at all), but I'm determined to continue.
> 
> Sure it will be hard at first but it becomes easier as you go.  If you
> want to make a new GNUMach written in Ada go for it.  All you really
> need to do is have a compatible API and use the same workings
> underneath.  Provinding you do this all written in ada it'll work.  It
> will take a long time (maybe years) to do and you have to be sure it's
> worth the effort.
> 
> 
> 
> Chris Campbell http://willowplan.tripod.com

I think this sounds like a great idea. I've been studying, and learning to
hack, Cisco microcode for the past few weeks now.  I'm also learning to
apply Ada to actual systems programming.

A micro-kernel would be awsome, if it's done right.

The way I would proceed is to lay out all the main functions and tasks of
the  kernel in Ada95 OOP code, and then overlay that (or underlay as one
might put it) with exceptionally fast Assembler code, optimized for the
different architectures. Of course, one could write generic functions for
any architecture with an Ada compiler(unlike most other languages, Ada
makes this goal actually feasible),  and then leave hooks so that
programmers can drop in thier own Assembler code optimizations and/or
replacements. Then, the SysAdmin can opt to have thier compiler build the
kernel from the standard generic Ada code, or use the optimized assembler
code written for thier architecture.

Naturally, this is more easily said than done. However I do beleive Ada
makes this quite feasible whereas in many other languages it would border
on impossible.

Then again, maybe I'm whistling into the wind and sounding stupid while
I'm at it. Anyways, I think the Ada95 OOP system is the perfect facility
for making a Microkernel that's actually fast.

Once my new workstation gets here, I'm gonna play with that idea. I 
might even throw up some sample code to better illustrate my idea.

Blah! Too much coffee. Heh. Anyways, what are your guy's thoughts?

McDoobie
chris@dont.spam.me


P.S. I would also be interested in working on a Free Software toolchain
similar to the Ada.Sparks toolchain by Praxis systems.
Feasible?



  reply	other threads:[~2001-06-02 20:30 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 [this message]
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
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