Real time linux operating systems
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

Real Time Linux Operating Systems PowerPoint PPT Presentation


  • 121 Views
  • Uploaded on
  • Presentation posted in: General

Real Time Linux Operating Systems. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Iowa State University [email protected] Linux as a Real-Time OS. Traditional RT Systems used custom built systems – which were not extensible I.e. tough to develop new applications

Download Presentation

Real Time Linux Operating Systems

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Real time linux operating systems

Real Time Linux Operating Systems

Swaminathan Sivasubramanian

Dependable Computing & Networking Laboratory

Iowa State University

[email protected]


Linux as a real time os

Linux as a Real-Time OS

  • Traditional RT Systems used custom built systems – which were not extensible I.e. tough to develop new applications

  • However, as technology improved, generic real-time OS became acceptable

  • In OS suited for extensible development Linux looks more appealing


Real time linux operating systems

Linux (and its Real Time versions) are free!!

Linux (and its Real Time versions) are Open Source!!

Easy for developing RT applications

Why Linux?


Why not linux

Why not Linux?

  • Linux didn’t have any corporate support until now

  • Linux, is a very good general purpose operating system, but not so for real-time OS (Why??)

  • Because, the design motive of a conventional OS and RTOS is different


Real time linux operating systems

Linux as your real-time solution?

  • Could increase priority for “real-time” tasks and assume they get scheduled

  • Problem – Linux optimizes average case whereas an RTOS should work under worst case assumptions


Linux a simplified view

Linux – A Simplified View


Linux conflicts with rt constraints

Linux – conflicts with RT constraints

  • Coarse grained synchronization – long intervals when a task has exclusive use of data ( as fine grained – leads to lot of overhead reducing the average case performance)

  • Linux batch all operations for efficient use of H/W

    • E.g freeing a list of pages when memory is full reducing the worst case performance

  • Linux doesn't preempt low-priority task during system call

  • Linux will make high priority tasks wait for low priority to release resources


Real time linux approaches

Real Time Linux approaches

  • Modify the current Linux kernel to guarantee RT constraints

    • Used by KURT

  • Make the standard Linux kernel run as a task of the real-time kernel

    • Used by RT-Linux, RTAI


Modifying linux kernel

Modifying Linux kernel

  • Advantages

    • Most problems, such as interrupt handling, already solved

    • Less initial labor

  • Disadvantages

    • No guaranteed performance

    • RT tasks don’t always have precedence over non-RT tasks.


Running linux as a process of a second rt kernel

Running Linux as a process of a second RT kernel

  • Advantages

    • Can make hard real time guarantees

    • Easy to implement a new scheduler

  • Disadvantages

    • Initial port difficult, must know a tremendous amount about underlying hardware

    • Running a small real-time executive is not a substitute for a full fledged RTOS


Rtai overview

RTAI Overview

  • Based on Real-Time Hardware Abstraction Layer (HAL) (also used in Windows NT)

  • HAL exports Linux data and functions related to hardware

  • HAL defines an interface between RTAI and Linux


Rtai a simplified view

RTAI – A Simplified View


Rtai overview continued

RTAI Overview (continued)

  • Software architecture

    • Interface to Linux hardware management (HAL)

    • 3 basic components: dispatcher, scheduler, fifos

    • 1 interface used in user tasks to initialize and start the components

  • RTAI is basically an interrupt dispatcher (reroutes interrupts to Linux if necessary) e.g: Disk interrupt


Kurt overview

KURT Overview

  • Developed at University of Kansas

  • Soft real-time system

  • Refines the temporal granularity of Linux

    • Motivation: RT tasks may need a time resolution on the order of microseconds, while non-RT tasks may need a resolution of only milliseconds

  • Result: Timer interrupts are programmed to service earliest scheduled event (results in aperiodic timer interrupts)


Kurt overview continued

KURT Overview (continued)

  • Not suitable for hard real-time systems

  • KURT can’t guarantee priority of RT tasks over non-RT tasks

  • An RT task can be blocked by a non-RT task (eg: during disk I/O) leading to priority inversion

  • Suitable for soft RT systems


Rt linux overview

RT-Linux Overview

  • Open source Linux project

  • Supports x86, PowerPC, Alpha

  • Patch of the regular Linux kernel (simply install the patch and recompile the kernel)

  • Provides an RT API for developers

  • Runs Linux kernel as lowest priority process


Real time linux operating systems

RT-Linux Task Structure


Real time linux operating systems

RT-Linux Interrupt Dispatcher


Rt linux overview continued

RT-Linux Overview (continued)

  • RT tasks are coded as modules

  • Modules are inserted and removed at users discretion

  • Extremely good at handling periodic tasks

  • Communicates with non-RT kernel and other RT tasks via fifo queues

  • Tools are provided for graphical analysis of RT execution


Problems with rt linux

Problems with RT-Linux

  • Currently no support for aperiodic tasks

  • Not very useful for complex RT systems

  • Currently limited to simple problems


Montavista a faster response linux kernel

Montavista – A Faster Response Linux Kernel

  • Montavista Inc. provides a linux solution for embedded systems

  • The solution’s aim is to make the Linux kernel fully preemptable

  • It identifies the points where priority inversion occurs in Linux and makes those points fully preemptable

  • A good embedded solution not a complete RT solution.


Important references

Important References

  • RT-Linux : http://www.rtlinux.org

  • RTAI : http://www.aero.polimi.it/projects/rtai/contrib.htm

  • Montavista: http://www.mvista.com


  • Login