There are certain techniques associated with Real Time programming. Often these are described as "Don't do X", where X is some commonly-used non-real-time technique.
pre-emptive multitasking ("Don't finish one thing before you start another -- don't even wait for a "reasonable stopping point". ")
keep everything in RAM ("Don't use hard disks")
make sure everything takes a bounded, predictable amount of time
don't use mark-and-sweep garbage collection
Use a Real Time task scheduler, as described in Scheduled Task.
Jean J. Labrosse's book, "MicroC/OS-II: The Real-Time Kernel" (from R&D Books, ISBN: 0-87930-543-6) is arguably the best book on the topic. Chapter 2, "Real-Time Systems Concepts" is the clearest explanation of RTOS primitives I've ever seen. (I teach embedded and RTOS programming and have programmed embedded and RTOS systems for 30 years.)
someone on the news:comp.realtime 2003-10-10 see also ucos-ii.com
www.concentric.net has several articles on real-time-programming topics.
"Realtime Mantra highlights the key issues in real-time system design. It also cover real-time design patterns and issues in complex software design." www.eventhelix.com
surreal-time.com has an online "training course." Kinda fluffy, but useful if you know absolutely nothing.
Is there anything useful at the Embedded Systems Academy esacademy.com ?
Or micro.filetap.com ? [Broken Link as of 27 Nov 10]
Many Embedded Systems use Real Time Techniques.
Edit Hint: Should I just move all this info to Category Real Time Patterns and then delete this page ?
Or at least think about layout ...
See original on c2.com