comp.lang.ada
 help / color / mirror / Atom feed
From: "Vladimir Olensky" <vladimir_olensky@yahoo.com>
Subject: Re: multi reads, single write
Date: 1999/12/15
Date: 1999-12-15T00:00:00+00:00	[thread overview]
Message-ID: <s5dfm5ftqrs84@corp.supernews.com> (raw)
In-Reply-To: slrn85b2bs.b2j.kaz@ashi.FootPrints.net


Kaz Kylheku wrote in message ...
>On Tue, 14 Dec 1999 01:28:12 +0300, Vladimir Olensky


><vladimir_olensky@yahoo.com> wrote:
>>With second one the answer is  that  Ada95 was designed for
>>embedded and real-time systems and protected types were
>>introduced into Ada 95 to provide most efficient implementation
>>of "multi-read single write" operation.  Any Ada implementation
>>that support Real-Time Annex (e.g. GNAT) does that in a most
>>efficient way possible for a given platform.
>
>What about implementations that don't support the Real-Time annex?


I do not know such ones.
At least these annexes are supported by the implementations
that I've seen so far:
     Annex A - Predefined Library Environment
     Annex B - Interfaces to Languages
     Annex C - Systems Programming
     Annex D - Real-Time Systems
     Language Defined Attributes (Annex J)
     Language Defined Pragmas (Annex K)


GNAT implements all special needs annexes:
    Systems Programming (Annex C)
    Real-Time Systems (Annex D)
    Distributed Systems (Annex E)
               Stub generation is fully implemented, but no PCS is provided
yet,
              so distributed systems cannot yet be constructed with this
version
              of GNAT.
    Information Systems (Annex F)
    Numerics (Annex G)
    Safety and Security (Annex H)
    Obsolescent Features (Annex I)
    Language Defined Attributes (Annex J)
    Language Defined Pragmas (Annex K)

Real-Time annex just gives many additional options to control multitasking.
It also imposes some restrictions on Clock granularity.

>Moreover, how can GNAT generate hard real time applications on systems
>that aren't real time, or are soft real time, like say most UNIXes?


If one wants to build "hard" real-time system then one will use
any appropriate "hard" Real-Time OS (RTOS) among existing or
may be even no underlying OS at all.
All that options are available.

>Whether or not a given programming system is real time or not depends
>a great deal on the guarantees provided by its environment.


See above.


>For the compiler for a given language to be suitable for real-time work, it
>just needs to generate reasonably well behaved machine code.


Yes, I agree here.
But if language do not provide built-in mechanism for  real-time
multitasking,
then one should reinvent the wheel using  low-level stuff.

>That is a function of the language implementation. It's not reasonable for
a
>language standard to impose limits on how many nanoseconds a given
operation,
>such as access to an object, must take.

Sometimes it reasonable. At least for "hard" real-time systems.

>Some languages are not well-suited time use. E.g. languages with implicit
>dynamic alloocation garbage collection,

That's why Ada does not use garbage collection by default.
Ada provide several mechanisms to provide efficient resources
deallocation.

>or with implicit run-time algorithms
>whose duration is difficult to estimate, or implicit uses of heavy weight
>resources such as databases, networks and the like.


This is separate big topic that is beyond the original thread.

Regards,
Vladimir Olensky







  parent reply	other threads:[~1999-12-15  0:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3847B024.EC4FD04F@essex.ac.uk>
     [not found] ` <s55ijfn65347@corp.supernews.com>
     [not found]   ` <S8D44.2440$Fg4.55139@cac1.rdr.news.psi.ca>
     [not found]     ` <s57jva4653132@corp.supernews.com>
     [not found]       ` <It254.26$0M4.4114@cac1.rdr.news.psi.ca>
     [not found]         ` <s59nkfe15396@corp.supernews.com>
     [not found]           ` <833uh9$e4p$1@pravda.ucr.edu>
1999-12-14  0:00             ` multi reads, single write Vladimir Olensky
1999-12-14  0:00               ` Tom Payne
     [not found]           ` <slrn85ahtm.709.kaz@ashi.FootPrints.net>
     [not found]             ` <s5at141453168@corp.supernews.com>
     [not found]               ` <slrn85b2bs.b2j.kaz@ashi.FootPrints.net>
1999-12-15  0:00                 ` Vladimir Olensky [this message]
     [not found]           ` <3854FCC0.D0127CD8@bbnplanet.com>
     [not found]             ` <s5d9d16j5397@corp.supernews.com>
     [not found]               ` <3858F8FA.CA9BD032@bbnplanet.com>
1999-12-16  0:00                 ` Mike Silva
1999-12-16  0:00                   ` Laurent Guerby
1999-12-16  0:00                     ` Mike Silva
1999-12-12  0:00 Vladimir Olensky
1999-12-14  0:00 ` Samuel T. Harris
replies disabled

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