Chapter 1. Overview

The purpose of this exercise is to perform a latency evaluation on a string of user processes running on top of the Linux kernel. By nature Linux wasn't designed to be a real-time OS, however much effort has been expended over the years to add "real-time-like" capabilities. Tests will be performed on a Linux user-space environment to see how Linux holds up.

For this experiment the host machine is the machine which records the results of these tests and initiates each test sequence. The target machine is the machine under evaluation.

The target machine and the host machine are connected through a serial cross-over cable. The host initiates a test sequence by sending a specially formatted string (the string must start with a special character and end with a different special character, neither of which should appear in the string itself). The target machine's serial driver will start a timer upon receipt of the terminal special character and hand the string off to a user-space process. This user-space process will then communicate this same string trough a variable number of other user-space processes via named FIFOs. At the end, the last user-space process will send this string back out the same serial port. The driver, upon reading the special start character being specified for transmission, will stop the timer and send measurement information through the serial link to the host machine, then it will send the test string.

This arrangement is illustrated as follows:

Figure 1-1. Host - Target Test Arrangement

This test scenario has the following advantages:

This test scenario has the following disadvantage: