The Real-Time Threads Package
Introduction
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 realtime,
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.
Literature
Software
RT-threads is available here