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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,126ce244c524526b X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!news.glorb.com!news-in.ntli.net!newsrout1-win.ntli.net!ntli.net!news.highwinds-media.com!xara.net!gxn.net!194.159.246.34.MISMATCH!peer-uk.news.demon.net!kibo.news.demon.net!news.demon.co.uk!demon!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Tasking issues Date: Sun, 12 Aug 2007 21:20:48 +0100 Organization: Pushface Message-ID: References: <1186851804.567302.223160@q4g2000prc.googlegroups.com> <13bulskfjvogv8e@corp.supernews.com> NNTP-Posting-Host: pogner.demon.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: news.demon.co.uk 1186950057 9833 62.49.19.209 (12 Aug 2007 20:20:57 GMT) X-Complaints-To: abuse@demon.net NNTP-Posting-Date: Sun, 12 Aug 2007 20:20:57 +0000 (UTC) Cancel-Lock: sha1:UmGPrOHLKP5KCSq6UUKfJ/KeVyk= User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (darwin) Xref: g2news2.google.com comp.lang.ada:1414 Date: 2007-08-12T21:20:48+01:00 List-Id: Dennis Lee Bieber writes: > On Sun, 12 Aug 2007 12:06:52 +0100, Simon Wright > declaimed the following in comp.lang.ada: > >> >> If you are using an OS with preemptive tasking (eg VxWorks) ready >> tasks are only switched when preempted by something of higher >> priority. A task can voluntarily move itself to the back of the >> ready queue for its priority by "delay 0.0;" (posssibly not >> RM-mandated behaviour). >> > On most of the OSs I've run under, "something of higher > priority" included the system clock controlling processing time > slices... and any processes in a priority level tended to > round-robin that level... I was only talking about Ada tasks .. the OS will have all sorts of other stuff, as you suggest, but (from the pov of Ada tasks) these 'only' cooperate to provide the environment in which the Ada tasks execute. In VxWorks (where Ada tasks are mapped to VxWorks tasks), there is no involuntary round-robin behaviour. I dare say the Ada RTS could be written to provide round-robin behaviour, but only for Ada tasks (and I for one would find such a scheme perverted; do you really not want to be able to predict how your RT program will behave?).