At 15:00 7/10/99 +0100, you wrote:
>I would therefore like some pointers to texts that would give me an answer
>to the following questions:
>....
>What type of API is the application code going to use? Is the UNIX system
>API any use at all?
What about POSIX 1003.1b and 1003.1c ? It's supposed to be useful for real
time systems. There is a POSIX draft, POSIX 1003.13 draft 9,(AFIK is still
a draft) where four profiles for real-time systems are defined:
PSE51 - Minimal real-time system profile
PSE52 - Real-time cntroller system profile
PSE53 - Dedicated real-time system profile
PSE54 - Multi-purpose real-time system profile
This is a brief summary of features of these profiles:
file-system multiple-proceses multiple-threads
PSE51 No No Yes
PSE52 Yes No Yes
PSE53 No Yes Yes
PSE54 Yes Yes Yes
I think that embedded world and Real Time world are very closed (fecuently
mixed), so you can find more information and "inspiration" if you read docs
from RT OSes, eg QNX is a good one to start from (very small and with
POSIX features). RTLinux (http://www.rtlinux.org/~rtlinux/) and RTAI are
the Linux approaches to RT and they are trying to be POSIX compliant
(http://www.fsmlabs.com/beta).
Minix world has some RT experiences. There is a porting FSU pthreads
library called Champollion
(http://atc.unex.es/jdiaz/anatome/contrib/champollion/champollion.html) and
a scheduler ("Implementing Real-Time services in MINIX" Wagner, G.; ACM
Operating Systems Review. July 1995).
I hope this helps you,
Juanjo