Download Comparative Study on Real Time Enhanced Linux

Transcript
316
CHAPTER 23. OVERVIEW OF EXISTING EXTENSIONS
• Documentation Quality
All the documentation consists of one 200 lines long document.
- API documentation: there is a section about how to use RTsock
- Core technology documentaion: practicaly none
- Examples: there is one, well documented example included in the rtsock
source code.
• Contacts
- Robert Kavaler, author: [email protected]
- Nicholas McGuire, maintainer of the RTLinux GPL track: [email protected]
23.10
TimeSys Linux/Net
23.10.1
Overview and History
TimeSys enhanced their Linux distribution for embedded systems and made
it preemptive. They also improved the control over interrupt handling. The
distribution is called TimeSys Linux GPL, and the sources of this distribution
are freely available under the terms of a GPL license. TimeSys claims that their
preemptive kernel provides better average and maximum latency times than the
new (version 2.5.4 and later) kernel. They claim to achieve average latency of
50 microsec and maximum latency of 1000 microsec with their GPL distribution.
However, since these enhacements alone are not sufficient for a true realtime performance, TimeSys provides extensions to their modified GPL kernel
that provide better controls over resource allocation, scheduling, and usage accounting. These extensions are available as loadable kernel modules and their
sources are NOT available under the terms of a GPL license. These modules are called: TimeSysLinux/Real-Time, TimeSysLinux/CPU and TimeSys
Linux/NET. According to TimeSys, these extensions reduce the latency times
even more, down to 10 microsec for average latency times and 51 microsec
for maximum latencies. The primary idea behind these modules are so called
reservations.
As opposed to priorities which are enabling high priority threads and interrupt
handlers to be executed before lower priority ones, a reservation represents a
share of a single computing resource. Such a resource can be CPU time (as in
TimeSys Linux/CPU), network bandwidth (as in TimeSys Linux/NET), physical
memory pages, or a disk bandwidth. TimeSys provide two types of reservations:
CPU Reservations (module TimeSys Linux/CPU) and Network Reservations
(module TimeSys Linux/NET).
As claimed in the Timesys documentation:
”A CPU reservation is a guarantee that a certain amount of CPU time will be
available to a thread (or a set of threads) at a defined periodic rate, no matter
what else is happening in the system, and independent of the priorities of other