Documente Academic
Documente Profesional
Documente Cultură
Overview Real-Time
System that has to perform its functions by responding to
Kenel Linux
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.
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.
Micro Kernel
Nano Kernel
10
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
12
13
14
RT Linux
Developed by Victor Yodaiken at the New
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
RT Linux's Scheduling
Real-time tasks can be configured by user within a specific
17
RTAI
The Linux RT
Real-Time Application Interface
Implemented by staff at Dipartimento di Ingegneria
18
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
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
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
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
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
ADEOS's implementation
Providing a Hardware abstract
25
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
Linux/RK's implementation
Adding a resource kernel which is a
References
1.
2.
3.
4.
5.
6.
28
Thank you!
Q&A
29