comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
Date: Mon, 8 Jul 2013 09:43:24 +0200
Date: 2013-07-08T09:43:24+02:00	[thread overview]
Message-ID: <roqq0dhh1do.ckvrzq4256q1$.dlg@40tude.net> (raw)
In-Reply-To: b3tj7mF47m7U1@mid.individual.net

On Sun, 07 Jul 2013 19:27:34 +0300, Niklas Holsti wrote:

> On 13-07-07 18:00 , Dmitry A. Kazakov wrote:
>> On Sun, 7 Jul 2013 10:58:24 +0000 (UTC), Simon Clubley wrote:
>> 
>>> On 2013-07-07, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>>>> On Sun, 7 Jul 2013 02:16:29 -0700 (PDT), Lucretia wrote:
>>>>
>>>>> Why not just buy a small SBC and just target Ada directly on the hardware.
>>>>> You don't have to have an OS at all.
>>>>
>>>> There exist heaters better than a computer performing pointless
>>>> calculations without any I/O.
>>>
>>> Sorry, Dmitry, but that's so out of touch I don't really know how to
>>> respond so I will just say you don't need a OS to provide I/O services.
>>>
>>> You create some routines around the hardware which the rest of your code
>>> can use to talk to the hardware and you structure your I/O support
>>> library so that only the modules needed by the application are actually
>>> linked in.
>> 
>> And this is what basically an OS is - a set of routines around the
>> hardware.
>> 
>> Either the application does nothing beyond integer arithmetic or else you
>> need an OS. Even most simple things like FPU or system timers would require
>> functionality attributed to an OS.
> 
> Many years ago I wrote an application for an HP2100 mini, sampling a
> voltage continuously at 1 kHz, writing the data to magnetic tape, and
> printing summaries to the console.

Many years ago almost all I/O was done through dual ported memory. These
days are long behind. BTW, RT-11 ran on 32K machines. It was an OS.

> If I take Dmitry's view, I am now entitled to put on my CV that I wrote
> my own OS for this application. Great.

It depends on the complexity. There is no sharp margin, obviously.

> Dmitry, your definition of I/O routines as "an OS" is an absurd stretch.

I only said that *modern* hardware is not so simple to access as in the
times when it was one or two memory-mapped hardware registers at fixed
addresses. Even a "small" SBC is far more complex than any old mainframe
was.

>> and
>> extremely complicated software protocols like TCP and stuff upon it.
> 
> Which are available as OS-independent libraries.

OS-independent /= OS-less.

You will need interrupts, you will need tasking you will need real-time
clock.

Of course, it would be possible to implement ad-hoc kludges to handle any
of this. But the result will be so fragile that any small changes in the
application will require redesigning the "OS". It is simply not the Ada way
(TM). Not even much the C way any more.

I just do not understand the gain. What is simpler to port the Ada RTL onto
a bare metal or onto an OS? How on earth people considering the second too
difficult are ready and willing to rush into the first? Don't tell me they
know for certain how much of the RTL they will have to implement.

>> The
>> question is only who is going to write and maintain all this stuff.
>> 
>> Just which is the ratio of he application code to "some routines around the
>> hardware"? 1:0? 1:1? 1:1000? How about complexity of both?
> 
> But the application-specific I/O should really count as "application code".

Yes, but application-specific I/O is done on top of non-specific I/O. E.g.
on top of the TCP/IP stack or on top of the FAT32 file system etc. And for
an embedded application the specific part is minimal. If not, then see
above.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


  reply	other threads:[~2013-07-08  7:43 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-19  7:51 Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Marcus F
2013-06-19 18:20 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada Jacob Sparre Andersen
2013-06-19 18:59   ` Marcus F
2013-06-19 19:25     ` Marcus F
2013-07-12 20:35     ` Rego, P.
2013-07-12 20:37       ` Rego, P.
2013-07-07  9:16 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Lucretia
2013-07-07  9:56   ` Dmitry A. Kazakov
2013-07-07 10:58     ` Simon Clubley
2013-07-07 15:00       ` Dmitry A. Kazakov
2013-07-07 16:27         ` Niklas Holsti
2013-07-08  7:43           ` Dmitry A. Kazakov [this message]
2013-07-08 10:54             ` G.B.
2013-07-08 12:14               ` Dmitry A. Kazakov
2013-07-08 12:56                 ` Simon Clubley
2013-07-08 14:06                   ` Dmitry A. Kazakov
2013-07-08 14:43                     ` G.B.
2013-07-08 17:23                     ` Simon Clubley
2013-07-08 18:55                       ` Dmitry A. Kazakov
2013-07-09 11:53                         ` Simon Clubley
2013-07-09 12:57                           ` Dmitry A. Kazakov
2013-07-09 13:11                             ` Simon Clubley
2013-07-09 20:30                               ` Randy Brukardt
2013-07-09 22:23                                 ` Georg Bauhaus
2013-07-10  8:06                                   ` Dmitry A. Kazakov
2013-07-10 12:25                                 ` Simon Clubley
2013-07-10 22:17                                   ` Randy Brukardt
2013-07-11 16:58                                     ` Eryndlia Mavourneen
2013-07-11 22:07                                       ` Randy Brukardt
2013-07-08 13:15                 ` G.B.
2013-07-08 13:59                   ` Dmitry A. Kazakov
2013-07-09  0:53                     ` mjsilva
2013-07-08 20:31             ` Randy Brukardt
2013-07-08 20:45               ` Dmitry A. Kazakov
2013-07-09  0:19                 ` mjsilva
2013-07-09  0:27             ` mjsilva
2013-07-09  7:51               ` Dmitry A. Kazakov
2013-07-09  8:33                 ` Georg Bauhaus
2013-07-09  9:12                   ` Dmitry A. Kazakov
2013-07-09 11:08                     ` G.B.
2013-07-09 12:28                       ` Dmitry A. Kazakov
2013-07-09 14:20                         ` G.B.
2013-07-09 15:00                           ` Dmitry A. Kazakov
2013-07-09 23:13                             ` Peter C. Chapin
2013-07-09 15:38                 ` mjsilva
2013-07-09 19:48                   ` Dmitry A. Kazakov
2013-07-09 20:10                   ` Randy Brukardt
2013-07-09 22:09                     ` Georg Bauhaus
2013-07-10 22:21                       ` Randy Brukardt
2013-07-11  6:12                         ` Georg Bauhaus
2013-07-11 22:00                           ` Randy Brukardt
2013-07-10  1:31                     ` mjsilva
2013-07-10  8:17                       ` Dmitry A. Kazakov
2013-07-10 22:39                       ` Randy Brukardt
2013-07-09 13:53     ` Shmuel Metz
replies disabled

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