Real Time Threads Interface

ID
TR-95-07
Authors
David Finkelstein, Norman C. Hutchinson and Dwight J. Makaroff
Publishing date
March 1995
Length
22 pages
Abstract
The Real Time Threads package (abbreviated RT Threads) provides a user-level, preemptive kernel running inside a single address space (e.g., within a UNIX process). RT Threads implements thread management, synchronization, and communication functions, including communication between RT Threads environments (i.e., with different address spaces, possibly on different machines and different architectures). Threads are scheduled using a real-time, multi-priority, preemptive scheduling algorithm. Each thread is scheduled on the basis of its modifiable scheduling attributes: starting time, priority and deadline. No thread is scheduled before its starting time. Schedulable threads (i.e., threads whose starting time has passed) are scheduled on a highest priority first basis. Schedulable threads of equal priority use an earliest deadline first (EDF) scheduling policy. An RT Threads environment is cooperative in the sense that memory is shared among all threads, and each thread runs to completion unless preempted on the basis of priorities and deadlines. Alternate scheduling policies, such as time slicing, can be implemented at the application level using the scheduling mechanisms provided by RT Threads. This report describes the interface to the RT Threads package.