Linux Programming: A Primer for Soft Real-Time Programming with Linux: Part 1Apr 04, 2000, 20:46 (0 Talkback[s])
(Other stories by Adam Linford)
[ Thanks to Kevin Reichard for this link. ]
"The purpose of this article is to give the reader an introduction to soft real-time programming with Linux, using both processes and Linux's implementation of POSIX threads. It is not a complete guide by any stretch of the imagination, and it assumes that the reader is comfortable with using C on a Linux platform. This is the first of two articles on this topic; the second article will also be followed by some fully working example code for you to try out."
"The core part of real-time programming is managing the communication between threads and processes, enableing you program to execute safely and correctly. This topic is a constant theme in this article. The definition of "soft" real-time programming used here is for tasks where timing is a factor, but is not critical to the level of needing accurate execution to, say, a tenth of a second."
"Now for some basic theory. Many of you will already be familiar with the idea of a process and what it does. For our purposes it can be thought of as a computer program in action. A process is independent (i.e. if it crashes, it will not cause any other processes to crash) and contains all data, instructions, and addresses associated with that program. If you are unfortunate enough to have your software development experience on a Win32 platform, then you can think of a UNIX process as a Win32 process with a single thread. (Processes will be covered in part two of this article.)"