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: a07f3367d7,3ffb65141990540c,start X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!postnews.google.com!o15g2000vbb.googlegroups.com!not-for-mail From: zeta_no Newsgroups: comp.lang.ada Subject: Hard and soft real time with Ada Date: Sun, 16 May 2010 21:19:00 -0700 (PDT) Organization: http://groups.google.com Message-ID: NNTP-Posting-Host: 174.138.203.117 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1274069941 12623 127.0.0.1 (17 May 2010 04:19:01 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 17 May 2010 04:19:01 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: o15g2000vbb.googlegroups.com; posting-host=174.138.203.117; posting-account=_PzQ6woAAACMmOTJ1acimpQRdkpIwcWU User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.38 Safari/533.4,gzip(gfe) Xref: g2news2.google.com comp.lang.ada:11673 Date: 2010-05-16T21:19:00-07:00 List-Id: Hi to all, My research about real time programming left me with some unanswered questions. Proposition 1: The problem with a general kernel, let say a genuine Linux, is that even stripped off, hard real time can not be guaranteed because we can't fully control the scheduling policy of the kernel. Therefore, any loaded module in kernel or user space, will be given some CPU time without our consent and, in time, be unpredictable. To grossly simplify, let say I want to build a small drone and I decide to put a minimal Linux install bundled with CRON on the embedded hardware. Question 1: There is a possibility, that during my flight, the kernel accept to service the CRON scheduler, in between sensor readings? Am I right? Question 2: Does the use of Ada, with its real time capabilities really helps to achieve real time if we know that ultimately, its the kernel who decides what to service. Does the real time promises are based on the assumption that the designer are brilliant enough to disable any OS loadable module not required by the embedded application? If so, this would be a problem for me, because I am far from being a kernel literate who knows everything that is going on inside a particular OS. Maybe a stripped OS is not that resource consuming to be worried about? Question 3: Does the Real Time Annex helps with that? I mean trying to make real time programming on a general purpose OS. Question 4: Now, if the best option is to use a real time kernel, what about the need for a USB camera and some specialized library like OpenCV for making some computer vision on a multi-core architecture? This kind of support on real time kernel looks almost inexistent, let say in open source options like RTEMS or MarteOS. Question 5: Does RTLinux would be my best bet, or should I try to use a GigE camera and port OpenCV myself onto RTEMS. I just want insight on global issues here, example of typical decisions made in the design of a general robotic embedded system. That's it for now. Thank you, Olivier Henley