Sunteți pe pagina 1din 29

Group 9

Tittle:Real Time Linux


Members:
L Vit Hp
Bin Xun Vnh

Real Time Linux

Overview Real-Time
System that has to perform its functions by responding to

synchronous or asynchronous events within a specified


amount of time.
May be
Soft RT occasionally allowed to miss deadlines (eg.

Updating a video display)


Hard RT Meeting the deadline is absolutely critical (eg.
Rocket controller)

Real Time Linux

Kenel Linux

Real Time Linux

Linux is not Real Time


The Linux kernel (< 2.6) is neither preemptive nor reentrant by

user processes.
Context switch takes several hundred microseconds.
Insufficient resource handling.
Scheduling algorithm designed not for real time.
Unbound amount of CPU time used by interrupt handlers

under Linux, and these run at a higher priority than any user
process.

Real Time Linux

Overview Real Time Linux


Inspired by MERT (Bell Labs 1978) a full-fledged

Virtual Machine (VM) concept.


It slips a small, simple, Real Time OS underneath Linux.
Linux becomes an idle task for this OS.

Real Time Linux

Implementation of Real Time


Linux
Basically, there are 2 ways to make Linux real
time:
Dual-Kernel: is to insert a new code layer between

standard Linux Kernel and hardware layer.


IEEE 1003.1d Kernel: is to implement some real-time
extensions within Standard Linux Kernel such as timer,
scheduling , preemtion logic, etc.

Real Time Linux

Implementation of RT Linux(Contd.)
In more detail, there are 4 strategies to modify standard
Linux:
Micro Kernel.
Nano Kernel.
Resource Kernel Extension.
POSIX Real Time Extentions.

Real Time Linux

Micro Kernel

Real Time Linux

Nano Kernel

Real Time Linux

Resource Kernel Extension

10

Real Time Linux

Dual-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

11

Real Time Linux

POSIX Real Time Extentions


Directly modify the standard kernel and provide

libraries that together implement the POSIX realtime extensions.


No second kernel in this approach.
The patches are made directly to the standard kernel
to implement the timers, signals, semaphores,
process memory locking, shared memory, priority
scheduling, synchronized and assynchronized I/O
specified in IEEE 1003.1d.

12

Real Time Linux

POSIX Real Time Extentions


Advantages
Most problems, such as interrupt handling, already solved
Less initial labor
Disadvantages
No guaranteed performance
RT tasks dont always have precedence over non-RT tasks.

13

Real Time Linux

Performance Comparison with other


Real Time Kernel
Performance Characteristics:
Event Latency.
Periodic Jitter.

14

Real Time Linux


Real Time Linux

RT Linux
Developed by Victor Yodaiken at the New

Mexico Institute of Technology in 1996.


An Open Source, Hard Real-Time Operating
System.
Based on Micro Kernel architecture.
Was originally a research project.Became a
FSM lab's commercial product.
2007, became Wind River Linux up to now.

Real Time Linux

15

RTLinux's
implementation
Implementation of a RT-linux plugin

which:
o Co-exists along with the Standard
Kernel.
o Is considered as a sitting layer
between the Standard Kernel and
Hardware layer.
The Standard Kernel sees
RTLinux as an actual Hardware.
Within the RT-linux plugin,there are:
o The RT-schedulers for scheduling
RT tasks and Linux Kernel.
o The tool which generates RT
FIFO for IPC.
16

Real Time Linux

RT Linux's Scheduling
Real-time tasks can be configured by user within a specific

scheduler and priority.


Real-time tasks executed by RT kernel.
Real-Time tasks are set with the highest priority values.
The RT Kernel allows users to create their own schedulers. So
far, there have been 2 schedulers :
o Priority based preemptive.
o EDF based.
Allows users to set priorities for each task.
Standard Kernel is assigned the lowest priority among the RT
tasks.
Supporting: FIFO, Shared Memory and Semaphore in IPC.

17

Real Time Linux

RTAI
The Linux RT
Real-Time Application Interface
Implemented by staff at Dipartimento di Ingegneria

Aerospaziale - Politecnico di Milano, Italy.


An open-source project.
Originally based on RT Linux.
Based on Real-Time Hardware Abstraction Layer (RTHAL).

18

Real Time Linux

RTAI's implementation
Implementation a RTHAL within
Linux Kernel. RTHAL is:
o Real Time Hardware
Abstraction Layer.
o Implemented to communicate
with the Real-time Kernel.
Implementation Real-time Kernel
which:
o Co-exist along with the Linux
Kernel.
o Is placed between hardware
and Linux Kernel.
FIFO is also implemented.
Real Time Linux

19

RTAI's scheduling
RTAI treats the Linux kernel as a low priority real-time task.
Whenever a new task is added, it will be assigned higher priority than the

Linux kernel.
The scheduler provides services which are used in various real-time operating
systems:
o Suspend.
o Resume.
o Yield.
o Make periodic.
o Wait until.
Schedulers:
o UP (Uni-processor).
o SMP (symetric multi-processor).
o MUP (Multi-Uni-Processor).
Supporting: FIFO, Shared Memory, Semaphore,Message queue and Mail
boxes in IPC.

20

Real Time Linux

KURT
A Soft real-time Operating system, named Kansas University's

Real-Time Linux.
Developed at University of Kansas, started in 1997
Project in the Information and Telecommunications
Technology Center.
An implementation of the POSIX real-time extensions to
Linux.
Specified by IEEE 1003.1d.

21

Real Time Linux

KURT's implementation
Improving the resolution of the system clock to 10ms.
Using the same mechanism for managing time as RT-Linux.
Generating interrupt on demand.
Modifying the scheduler to include new
policy, SCHED_KURT besides those are defined by POSIX
such as SCHED_FIFO, SCHED_RR,....
Adding new system calls to implement real-time functionality.

22

Real Time Linux

KURT's scheduling
KURT cant 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.

23

Real Time Linux

ADEOS
The Adaptive Domain Environment for Operating Systems.
An open source, released in 2002.
A provision of the GNU GPL (The GNU General Public

License)
A real-time framework which allows operating systems to be
run in parallel.

24

Real Time Linux

ADEOS's implementation
Providing a Hardware abstract

layer sitting over the hardware


layer.
Yet, it does not implement RT
Kernel.
Providing a mechanism which
allows interruption of RT OS
with possible priority.

25

Real Time Linux

Linux/RK
A Portable Resource Kernel in Linux.
A resource kernel based on Linux.
Developed by the Real-time and Multimedia Systems

Laboratory ,in1998.
Led by Dr. Raj Rajkumar at Carnegie Mellon
University.

26

Real Time Linux

Linux/RK's implementation
Adding a resource kernel which is a

real-time kernel (operating system)


that :
o Provides to
applications Timely Guaranteed,
and Enforced access to System
Resources
o Allows Applications to specify
only their Resource
Demands leaving the Kernel to
satisfy those Demands using
hidden management schemes
Providing a tool that allows user
to request, reserve, and be
guaranteed a nite percentage of
machine resources
27

Real Time Linux

References
1.
2.
3.
4.
5.
6.

28

Real-time linux report v2.0.0, by Aeolean Inc in NIST (Intelligent Systems


Division National Institute of Standards & Technology).
http://www.aero.polimi.it/projects/rtai/contrib.htm
Adaptive Domain Envioronment for Oprerating Systems, by Karim Yaghmour.
http://www.linuxsymposium.org/archives/OLS/Reprints-2001/yaghmour.pdf
Linux/RK: A Portable Resource Kernel in Linux, by Shuichi Oikawa and
Ragunathan Rajkumar.
CS397 Ambuj and Utkarsh Feb 2000

Real Time Linux

Thank you!
Q&A

29

Real Time Linux

S-ar putea să vă placă și