0% found this document useful (0 votes)
95 views

Real Time Linux Steve Matovski

This document discusses Real Time Linux. It describes two approaches to implementing real-time capabilities in Linux - using a module layer between the Linux kernel and a real-time kernel, or modifying the Linux kernel itself. It covers the installation process, dual kernel architecture, pros and cons compared to other real-time operating systems like QNX and VxWorks, and scheduling approaches in a Real Time Linux system.

Uploaded by

Elfrania
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views

Real Time Linux Steve Matovski

This document discusses Real Time Linux. It describes two approaches to implementing real-time capabilities in Linux - using a module layer between the Linux kernel and a real-time kernel, or modifying the Linux kernel itself. It covers the installation process, dual kernel architecture, pros and cons compared to other real-time operating systems like QNX and VxWorks, and scheduling approaches in a Real Time Linux system.

Uploaded by

Elfrania
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 11

Real Time Linux

Steve Matovski
CSE 666

Overview

2 different kernels styles


A Module layer can be installed between the Linux
soft-time OS and the Linux real-time OS
The other way is to change the kernel so operates in
real-time
The latest release of the Linux mainstream kernel
will now include real-time support.

Real-Time Linux Installation

A currently installed Linux distribution is required to


be modified by RT Linux module
The module requires the Linux kernel to be
recompiled so that module layer can be installed
Once the kernel is recompile it is added to boot
loader as a separate OS to boot
A fully configured OSs are available from commercial
vendors

Real-Time Linux Architecture


The

Linux soft-time OS runs as a process in


real-time OS task scheduler list
The priority of Linux soft-time OS is the
lowest of all processes in RT
All interrupts are rerouted to the real-time
layer
I/O drivers and device drivers are routed to
both the real-time and soft-time OS

Real-Time Linux Architecture

Pros and Cons of RT Linux

Soft-time Linux kernel runs along side a real-time


Linux so non-real-time software can run on a realtime system like Firefox
A low level task scheduler, control of hardware
devices and static memory create a predicable
environment
Dual kernel system keep soft-time processes
separated from real-time processes allowing for
faults in soft-time not to affect the real-time system
Real-time tasks have full access to hardware

Pros and Cons of RT Linux

RT Linux system still need time to boot. 30 second to


1 minute on average
The systems RTOS size is still very large for an
embedded system (minimum system size in MB)
Systems require large amounts of RAM and ROM to
run processes
Part of OS is run as a task of real-time kernel so it is
not a true real-time system. Soft-time processes
have no guarantees
Communication between the real and soft OS is
done through a FIFO queue

RT Linux VS QNX

RT Linux use only one scheduling algorithm at a time


while QNX uses four different ones. EDF RT Linux,
FIFO and Round Robin QNX
Processes in QNX run in a protected memory space
QNX handles Normal UNIX processes (weighted
processes) and threads. RT Linux only handle
threads
RT Linux has large set of user period levels
POSIX timers support in QNX

RT Linux VS LynxOS
Multiprocessor

system support in RT Linux


RT Linux uses one short and periodic timers
LynxOS support a wide range of processors
and microcontrollers
User task, system tasks and kernel tasks all
run in protected memory spaces
Dynamic memory management at low level

RT Linux VS VxWorks

VxWorks thread communication is handle by


messaging queues, binary/counting/multi-exclusion
semaphores, and sockets
VxWorks supports a wide array of microcontroller
VxWorks has dynamic memory management
VxWorks supports FAT, NFS, raw, TrueFFS (Flash
file system), ISO9660 filesystems
VxWorks has a graphical timer debugger called
WindView

Scheduling on a RT Linux System

RT Linux handles basic Rate-Monotonic scheduling by default


Earliest First Deadline is possible by adding a module to the RT
kernel
Scheduling of programs is done by the programmer using a set
of API for setting process parameters
Scheduling and communication between real-time and soft-time
is handle by FIFO schedule queue also soft-time task are not
given any deadline guarantees
Making inter-processes task very difficult
Semaphore module can be added to help scheduling
Since RT Linux is an open source project there are many
different scheduling module being built but RM and EDF are
standard

You might also like