comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org>
Subject: Re: Ada OS talk (was: ADA os talk)
Date: Tue, 4 Sep 2001 10:40:37 -0400
Date: 2001-09-04T14:40:38+00:00	[thread overview]
Message-ID: <9n2p56$ds1$1@nh.pace.co.uk> (raw)
In-Reply-To: mailman.999611824.11826.comp.lang.ada@ada.eu.org

There is GNORT (GNAT No RunTime - where do they get these names?). I don't
know if simply sticking to a subset of Ada gives you pure code or not with
GNAT, but there is at least available somewhere a version of GNAT that could
be used to build a boot loader & kernel. (BTW: I believe this is the subset
that is used to build RTEMS which then acts as the kernel for embedded Ada
apps.)

AFAIK, the existing GNAT for PC architecture machines is going to rely on OS
calls to do all of its scheduling. I believe that the Unix variants use
POSIX calls, but I don't know if the same is true for PC/Windows versions.
That poses a problem in that if you want to build an OS kernel, you
ultimately need to have an Ada compiler that uses its services to schedule,
etc. That means modifying the compiler or living with POSIX. Not impossible,
but it is more work.

One approach might be to identify an available version of GNORT (I don't
know if it is generally available?) and figure that this is the Ada subset
from which to build the boot loader, kernel, and enough other stuff to get
some rudimentary app loaded and executing. From there, you could think in
terms of building a "Core" that rode on top the kernel and provided services
to any other app. That Core could start out small & might even support POSIX
calls as an initial cut. (Ultimately, you build your own OS calls, but this
lets you get something useful out there as well as making yourself
compatible with all sorts of other stuff.) If you got far enough to have a
Kernel that could run a Core that could run several general Ada apps
(supporting processes & tasks) then the rest of it is a matter of adding
apps & extending your core until you think you've got something real.

I have not given much thought to device drivers, but obviously that needs to
be considered early on. I don't know if it needs much consideration for a
Kernel, but certainly by the time you get to the Core, you'd better know how
you are going to hook to the physical hardware. (You can abstract for a
while - possibly even working with a simulated environment on top of
something like NT, but eventually, you've got to hook to real, live
hardware.)

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"M. A. Alves" <maa@liacc.up.pt> wrote in message
news:mailman.999611824.11826.comp.lang.ada@ada.eu.org...
>
> Good strategy.  Now, is there a fragment of Ada that GNAT compiles into
> native machine code i.e. independently of host OS?  (Then we could use
> that fragment to write the boot, compile it in a working machine with the
> same architecture, put it on the floppy boot sector, and use a clean
> machine to test it.)  Or a fragment dependent on some host OS things but
> that we can tamper with in the GNAT backend to make it independent?
>
> Also, what is the fragment of Ada necessary and sufficient to make a full
> Ada compiler/interpreter?
>
> --
>    ,
>  M A R I O   data miner, LIACC, room 221   tel 351+226078830, ext 121
>  A M A D O   Rua Campo Alegre, 823         fax 351+226003654
>  A L V E S   P-4150 PORTO, Portugal        mob 351+939354002
>
>





  reply	other threads:[~2001-09-04 14:40 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-26 23:00 ADA os talk Tony Gair
2001-08-27  3:28 ` Mike Silva
2001-08-27  4:58   ` Robert C. Leif, Ph.D.
2001-08-27 14:44     ` Marin David Condic
2001-08-27 18:41       ` Wes Groleau
2001-08-27 19:22         ` Marin David Condic
2001-08-27 18:44       ` Robert C. Leif, Ph.D.
2001-08-27 19:00         ` Marin David Condic
2001-08-29 17:53           ` B.Gaffney
2001-08-30 16:29             ` Serge Robyns
2001-08-27 19:24       ` David Starner
2001-08-27 21:07         ` Marin David Condic
2001-08-27 23:22         ` Larry Kilgallen
2001-08-28 13:48           ` Marin David Condic
2001-08-28 15:50             ` Larry Kilgallen
2001-08-28 16:14               ` Marin David Condic
2001-08-28 17:25                 ` Larry Kilgallen
2001-08-30 14:44                   ` Robert Spooner
2001-08-28 14:29           ` Gary Scott
2001-08-28  9:25         ` Tarjei T. Jensen
2001-08-29 10:33     ` Tony Gair
2001-08-29 14:15       ` Marin David Condic
2001-08-29 14:45         ` Larry Kilgallen
2001-08-29 15:27           ` Marin David Condic
2001-08-29 16:11             ` chris.danx
2001-08-29 17:20               ` Marin David Condic
2001-08-29 17:02             ` Ray Blaak
2001-08-29 17:43             ` Larry Kilgallen
2001-09-02  8:01             ` McDoobie
2001-09-02 19:58               ` Tony Gair
2001-09-02 23:02                 ` Darren New
2001-09-04 12:47                 ` Marin David Condic
2001-09-02 19:43         ` Tony Gair
2001-09-02 20:16         ` chris.danx
2001-09-03 10:01           ` Ian
2001-09-03 19:31           ` Ada OS talk (was: ADA os talk) M. A. Alves
2001-09-04 13:09             ` Marin David Condic
2001-09-04 14:57               ` M. A. Alves
2001-09-04 14:40                 ` Marin David Condic [this message]
2001-09-04 15:12               ` Ada OS talk M. A. Alves
2001-09-06 15:42             ` Ada OS talk (was: ADA os talk)(and now is "About you guys".) McDoobie
2001-08-27  5:15 ` ADA os talk Bobby D. Bryant
2001-08-27 14:04   ` Wes Groleau
     [not found] ` <YOsi7.14505$3f.3377844@news2-win.server.ntlworld.com>
2001-08-27 17:16   ` Warren W. Gay VE3WWG
2001-08-27 17:33     ` Gerhard Häring
2001-08-30 16:43       ` Serge Robyns
2001-08-27 18:02     ` Marin David Condic
2001-08-27 17:37 ` Brian Catlin
2001-09-02  7:26 ` ADA os talk (Innovate!) McDoobie
2001-09-02 10:53   ` Dmitry A. Kazakov
2001-09-04 12:33     ` Marin David Condic
2001-09-04 12:17   ` Marin David Condic
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox