rt-linux:
DESCRIPTION
RT-Linux:. Ross Johnston Jonathan Blackburn Jason Siciliano. Introduction. RT-Linux: Past and Present What is real-time, and how does RT-Linux handle it? How is RT-Linux different from other real-time systems? Scheduling Algorithms (FIFO). The Basics of RT-Linux. - PowerPoint PPT PresentationTRANSCRIPT
RT-Linux:
Ross Johnston
Jonathan Blackburn
Jason Siciliano
Introduction
• RT-Linux: Past and Present
• What is real-time, and how does RT-Linux handle it?
• How is RT-Linux different from other real-time systems?
• Scheduling Algorithms (FIFO)
The Basics of RT-Linux
• Victor Yodaiken and Michael Barabanov created RT-Linux at the Institute for Mining and Technology of New Mexico in 1997
• RT-Linux is maintained by FSMLabs, Inc.
• Allows the Linux kernel to run off of the RT-Linux kernel, sharing the processor
What is a “Real-Time” System?
• “Real-Time” constitutes process scheduling meant to meet a deadline; little to no event latency allowed
• There are “hard” real-time systems (failure to meet deadlines results in serious consequences) and “soft” real-time systems (failure only results in quality degradation)
RT-Linux handling Real-Time
• Interrupts are handled based on RT-Linux options – either by enabling or disabling interrupts– When enabled, the main Linux kernel handles
interrupts normally– When disabled, pending interrupts are held
until interrupts are re-enabled• This is known as Interrupt Emulation
RT-Linux: How is it different?
• RT-Linux functions basically with a “dual kernel”; it builds a small kernel over the processor, complete with its own scheduler– The Linux Kernel still functions, handling all non-
RTLinux processes
• Most other real-time systems, instead, modify the kernel in order to guarantee predictability
RT-Linux & FIFO
• RT-Linux uses First In First Out (FIFO) queues for inter-process communication
• FIFO queues are similar in design to pipes in Unix
• RT-Linux processes view the FIFOs as simply integers, while Linux processes see them as character devices
Scheduling in RT-Linux
• Users can implement their own schedulers using loadable kernel modules
• Comes with two schedulers – Priority-based Preemptive & Earliest Deadline First