From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stuart Hughes To: elix Cc: Michael Tiemann Subject: EL/IX API, Real-Time and Linux Date: Fri, 19 Nov 1999 09:18:00 -0000 Message-id: <383586CD.7E28325A@zentropix.com> X-SW-Source: 1999-q4/msg00000.html Hi all, I was very interested in the announcement or the EL/IX project and applaud its goal of providing a standard and consistent API for embedded systems. My particular area of interest is realtime systems that are large scale enough to host standard Linux (e.g not deeply embedded systems, which would be better addressed by OSes such as ecos). These systems are often referred to as desktop realtime, although some of the more capable single board computers fall into this category. As some of you know RTLinux and RTAI provide a means of programming hard realtime task in kernel space modules (using fundamentally the same technique). There has been a lot of work done in the last 6 months, to a fairly full implementation of POSIX 1003.1c (pthreads) for RTAI, which includes support for mutexes (including priority inheritance) and condition variables. This is a good start, but still leaves a lot of the other recommendations of the EL/IX document unaddressed. In particular realtime tasks cannot directly support the Base UNIX API (e.g. read, write, open, close etc). Although this may seem a big problem, it may not be quite so bad as RTAI has a facility known as sysrq (system requests) that may be used to pend calls to Linux, that will then be run when the realtime section returns. This is one approach that may allow the realtime section to gain access to the non-realtime services of Linux. I would be interested to hear from anyone who would be interested in contributing to help further develop the RTAI POSIX package so it can grow to become conformant to the EL/IX API. Also I would like to hear what people think about realtime threads accessing non-realtime services (such as disk) and mechanisms that can be employed to make sure that this won't destroy the realtime behaviour of the system (e.g code analysis tools to highlight prioritisation problems, or mandating non-blocking I/O calls for realtime threads ?). Further information on RTAI can be obtained from http://www.rtai.org/ . Details of the POSIX module can be found in the posix subdirectory of later RTAI distributions. Regards, Stuart Hughes, Zentropix. http://www.zentropix.com/