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 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.linkpendium.com!news.linkpendium.com!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!nntp.earthlink.com!news.earthlink.com.POSTED!not-for-mail NNTP-Posting-Date: Thu, 10 May 2018 18:15:52 -0500 From: Dennis Lee Bieber Newsgroups: comp.lang.ada Subject: Re: How to get Ada to ?cross the chasm?? Date: Thu, 10 May 2018 19:15:54 -0400 Organization: IISS Elusive Unicorn Message-ID: References: <87k1sg2qux.fsf@nightsong.com> <87h8njmk4r.fsf@nightsong.com> <87po27fbv9.fsf@nightsong.com> <87in7x62vw.fsf@nightsong.com> <878t8szdtk.fsf@nightsong.com> User-Agent: ForteAgent/8.00.32.1272 X-No-Archive: YES MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Usenet-Provider: http://www.giganews.com NNTP-Posting-Host: 108.68.179.11 X-Trace: sv3-pfsA0xQj93/2gzrX18shnkq8d6Bt3GdGPLYz+56LgAtoOa9o8RhuH+ncxnhsavlDWsguFtT5TqDqrIQ!4vVpSwqoUl/DRTHctkQmauW/gG8yKy0m+OYuV9HWRj4zIPt2cOf4QMx7rbPok1By9GTlCrylH9pO!92kj+Abv7+nQVd3BF8fXfVgT5lo= X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 3219 Xref: reader02.eternal-september.org comp.lang.ada:52230 Date: 2018-05-10T19:15:54-04:00 List-Id: On Thu, 10 May 2018 23:47:25 +0300, Niklas Holsti declaimed the following: > >The concept of "dynamic allocation" is interestingly vague. All >real-time applications I've seen have dynamic allocation in various data >buffers and queues, even if they never use the system heap. Of course, >the designers foresee that the buffers and queues can become full, and >design the application to be robust and degrade gracefully if that happens. > In my limited (4 years) exposure, the closest thing to "dynamic allocation" took place during program initialization. Your "buffers and queues" are allocated and set-up before the software transitions into "running" state. Anything could take place during said initialization, but once "running" everything was from pre-allocated memory regions. And nothing is ever freed -- it merely moves from one application controlled list/queue structure to another. If a failure in allocation occurs, the software either restarts (basically, reboots the processor) or (if some memory location keeps track of restart attempts) reports a fatal error condition and never goes into operational mode. >"Compile-time task scheduling" probably means fixed task frequencies, >rather than event-driven, preemptive tasks, am I right? > Even Ada's tasking wasn't allowed -- apparently because the RTL isn't deterministic enough. Instead, some minimal RTOS was embedded into the application environment and Ada procedures were activated as tasks in the RTOS (with defined stack sizes, priorities, etc.). -- Wulfraed Dennis Lee Bieber AF6VN wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/