Tasks in a typical real-time system are periodically invoked/released and executed.3 Each task T is associated with various attributes, including its period P, relative deadline D,4 and worst-case execution time (WCET) C. The task must be run once each period, and needs to receive enough processing time to complete execution by its relative deadline. The real-time scheduler uses these attributes to decide when to run tasks, and can guarantee that all tasks will meet their deadlines as long as they require no more than their specified WCETs. From high-level program flow analysis and low-level timing information, a task's WCET can be determined statically. Figure 2 shows the relationship between these values for a typical scenario with one reader and one writer processes. The top timeline represents the reader's period. For simplicity, the reader's relative deadline is assumed to be equal to its period in our discussion and not shown here. In general, it is less than or equal to PR, where PR is the reader's period. C denotes the reader's WCET, and CR is the time to perform a read operation. RMax represents the maximum time the reader can take to perform a read operation. Note in Figure 2 that the read operation is placed at the end of the reader task's execution. It is only drawn there to show the relationship between RMax, CR, PR and C more clearly, but, in general, the read operation can be anywhere within the reader's execution time C. The bottom timeline represents 4 writer periods. The writer's period and relative deadline are denoted by PW and DW, respectively.