From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,956e1c708fea1c33 X-Google-Attributes: gid103376,public From: dewar@gnat.com Subject: Re: Looking for implementation idea Date: 1999/02/08 Message-ID: <79ldf2$sc3$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 441827825 References: <36BD749B.DA735DB7@umundum.vol.at> <1999Feb7.152252.1@eisner> X-Http-Proxy: 1.0 x4.dejanews.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Mon Feb 08 01:08:55 1999 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-02-08T00:00:00+00:00 List-Id: In article <1999Feb7.152252.1@eisner>, Kilgallen@eisner.decus.org.nospam wrote: > Perhaps there is something in the specification of > compiler tests that allows one to pass with the caveat > that "it only works on uniprocessors", but if a compiler > vendor used that approach I would think they lose some of > the more desirable customers (those with enough money to > buy multiprocessors). Of course it would be permissible to write an Ada compiler that only worked on uniprocessors, but as Larry says, this is unlikely, since it would not make commercial sense on a machine for which MP configurations were available, and certainly all current Ada 95 technologies support MP where appropriate. However, it should be noted that at the *programmer* level it is quite possible to write programs that will work only on a single processor (indeed some of the ACVCs are in this category, and are marked as being inapplicable on multi-processors). If a program assumes that an active high priority task which does not block will guarantee that low priority tasks make no progress at all (a guarantee that MUST be true on a mono-processor for a compiler that fully implements the real time annex (*)) then you have a program which will work only on a single processor. Whether this is a bug or not depends on whether you want your code to be portable to multi-processors. It should be understood that it is not necessarily terrible to make this assuption if you know you are in an SP environment, since there are paradigms that operate much more efficiently if this approach is taken. Still it is a risky trap. (*) Of course not all compilers fully implement the real time annex, including the important FIFO_Within_Priorities dispatching policy that makes this guarantee. For example, GNATWorks (GNAT with VxWorks) does fully implement this capability, but some other Ada/95 VxWorks products do not. As usual, you have to be careful that the compiler you get has the capabilities you need! Robert Dewar Ada Core Technologies -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own