comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Ichbiah 2022 compiler mode
Date: Thu, 12 Sep 2024 18:43:45 +0300	[thread overview]
Message-ID: <lkgghhF1tp6U2@mid.individual.net> (raw)
In-Reply-To: <vbun82$8n6p$1@dont-email.me>

On 2024-09-12 15:36, Kevin Chadwick wrote:
> 
>> If Ada did not have tasks with priorities, most of the Ada 
>> applications I have worked on in my life would have had to avoid Ada 
>> tasking and retreat to using some other real-time kernel, with ad-hoc 
>> mapping of the kernels's threads to Ada procedures.
>>
> 
> Counter intuitively it is possible that this is holding Ada back. A lot of
> Ada code cannot run without some fairly complex runtime support due to
> tasks, protected objects, finalization etc.. Runtimes have to be developed
> for each chip instead of each cpu.


True, however an Ada RTS can implement many of the tasking features with 
moderate effort on top of non-Ada real-time kernels such as FreeRTOS, 
VxWorks, etc., as AdaCore have done for some kernels. At least for the 
Ravenscar and Jorvik profiles. AIUI, the processor-specific stuff is 
then mainly in the kernel, not in the RTS.


> If you need advanced multi core support then using an OS seems like a more
> suitable situation to be in to me.


Using a large OS like Linux would not be acceptable for many embedded 
systems. Fortunately the smaller real-time kernels are adding multi-core 
support too.

The great advantage of using the standard Ada tasking feature, special 
syntax and all, is that your embedded Ada program can then be executed 
on a PC or other non-embedded computer, for testing or other purposes, 
tasking and all. It can also be analysed by static-analysis tools such 
as AdaControl for race conditions and other tasking-sensitive issues.

  reply	other threads:[~2024-09-12 15:43 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-05 11:52 Ichbiah 2022 compiler mode Kevin Chadwick
2024-09-05 13:40 ` Jeffrey R.Carter
2024-09-05 13:49   ` Bill Findlay
2024-09-05 19:22     ` Jeffrey R.Carter
2024-09-05 14:05   ` Kevin Chadwick
2024-09-05 16:08   ` Kevin Chadwick
2024-09-05 19:24     ` Jeffrey R.Carter
2024-09-06  0:03 ` Randy Brukardt
2024-09-06  0:58   ` Lawrence D'Oliveiro
2024-09-12  4:39     ` Randy Brukardt
2024-09-12 22:24       ` Lawrence D'Oliveiro
2024-09-14  6:18         ` Randy Brukardt
2024-09-14  7:18           ` Lawrence D'Oliveiro
2024-09-06 21:22   ` Simon Wright
2024-09-07 17:13     ` Niklas Holsti
2024-09-07 20:34       ` Nioclás Pól Caileán de Ghloucester
2024-09-12  4:46       ` Randy Brukardt
2024-09-12  7:42         ` Niklas Holsti
2024-09-12  9:07           ` Dmitry A. Kazakov
2024-09-12 12:36           ` Kevin Chadwick
2024-09-12 15:43             ` Niklas Holsti [this message]
2024-09-13 20:45             ` Nioclás Pól Caileán de Ghloucester
2024-09-12  9:04         ` J-P. Rosen
2024-09-12 11:35           ` Niklas Holsti
2024-09-14  6:13             ` Randy Brukardt
2024-09-14  6:47               ` Dmitry A. Kazakov
2024-09-14  7:19               ` Lawrence D'Oliveiro
2024-09-14  8:12               ` Niklas Holsti
2024-09-06 11:07 ` Jeffrey R.Carter
2024-09-06 20:26   ` Nioclás Pól Caileán de Ghloucester
replies disabled

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