Some Real Time Versions of Linux Operating System

Download Report

Transcript Some Real Time Versions of Linux Operating System

1
Real Time Versions of
Linux Operating System
Present by
Trần Duy Thịnh
Quách Phát Tài
2
Content
Implement core • 1. Standard Linux
real-time Linux • 2. Real-time Linux
Real-time
versions
• 3. Open-Source Distributions
• 4. Commercial Distributions
3
1. Standard Linux
• Memory
Management
• Memory Protection
• Scheduling and
Task Management
• Hardware Interfaces
• File Management
• Communication:
external, internal
4
2. Real-time Linux kernel
• Modifications that make Linux Real Time
• Real-Time Patches to the Standard Kernel
5
2. Real-time Linux kernel
Modifications that make Linux Real Time
Real-Time Patches to the Standard Kernel
• Micro Kernel
• Nano Kernel
• Resource Kernel Extension
• POSIX Real-time Extension
6
2.1 Modification that make Linux
Real-time
• Interrupt processing in standard kernel: 2 halves
▫ The bottom-half task is the interrupt handler and reads
data from the physical device into a memory buffer.
▫ The top-half task reads from the memory buffer and passes
the data to a kernel accessible buffer
• In the standard kernel: without preemption, all
interrupts are disabled when the bottom-half task is
running.
• All variants of real-time Linux have introduced
modifications at the kernel level
▫ reduce both the interrupt latency and jitter between
periodic interrupts
▫ faster response to external events and higher resolution
timing
7
2.1 Modification that make Linux Real-time
• Standard kernel
preemption
• Higher priority kernel
processes can
preempt lower
priority
• Linux version 2.5.4
• latency and jitter is
around 1 millisecond
8
2.2 Real-time Patches to the Standard
Kernel
▫ adding a second, highly efficient, kernel to handle realtime tasks
 Micro Kernel: RTLinux, RTAI
 Nano Kernel
 Resource Kernel Extension
▫ making changes directly to the standard kernel
 POSIX Real-Time Extensions: implement the timers, signals,
semaphores, process memory locking, shared
memory,priority scheduling, synchronized and
asynchronized I/O specied in IEEE 1003.1d
 KURT
 TimeSys Linux
9
2.2.1 Micro Kernel
• Victor Yodaiken controls
the execution of real-time
tasks
• runs the standard Linux
kernel as a background task
• RTLinux – New Mexico Tech
• RTAI - Politecnico di Milano
10
2.2.2 Nano Kernel
• Adaptive Domain
Environment for
Operating Systems
(ADEOS)
• similar to the micro
kernel
• many operating systems
• can be run in parallel
on top of the nanokernel layer
11
2.2.3 Resource Kernel Extension
• provides a gateway to
resources such as file
systems, serial and
parallel ports, and
network interfaces for
both the normal kernel
and also for user
processes
• control the interrupt
preemption issues for
the standard kernel
• User-space can
communicate directly
2.2.4 POSIX Real-time Extensions
12
 Modify directly to the standard kernel
 Implement the timers, signals, semaphores, process memory
locking, shared memory,priority scheduling, synchronized and
asynchronized I/O specied in IEEE 1003.1d
 Two different approaches:
 KURT: The Kansas University Real-Time Linux (KURT) distribution,
▫ high resolution timers,
▫ real-time scheduling improvements
 TimeSys Linux
▫ making the standard kernel preemptable
▫ including a kernel scheduler that provides scheduling for the bottomhalf kernel interrupt processing and for interrupts themselves
13
2.3 Performance Comparison
14
Real-time versions of Linux
• Open-Source Distributions:
▫ Provide the source code and build scripts so the
user can understand, modify, and build the code
▫ Documentation may be sparse and technical
support nonexistent
• Commercial Distributions
▫ Make a profit to stay in business.
▫ Support and documentation.
15
3. Open-Source Distribution
•
•
•
•
•
ADEOS
KURT
RTAI
RTLinux
TimeSys Linux GPL
16
Open-Source: ADEOS
• Adaptive Domain Environment for Operating
Systems
• 2002
• Is a hardware abstraction layer
• Allow a real-time kernel and a general purpose
kernel to co-exist
• Real-Time Mechanism nano-kernel
17
Open-Source: KURT
• Kansas University
• 1997
• Implement the POSIX real-time extensions to
Linux
• The patches implement the queued real-time
signals and the high-resolution timers.
• Real-Time Mechanism: POSIX timers and
scheduling.
• 10s of microseconds of latency and jitter
18
Open-Source: RTAI (Linux-RT)
•
•
•
•
•
•
Politecnico di Milano, Italy.
2000
Originally based on RTLinux
Evolved as a unique favor of real-time Linux.
Real-Time Mechanism: micro kernel
< 10 microseconds latency and jitter
19
Open-Source: RTLinux
• Victor Yodaiken, New Mexico Institute of
Technology
• 1996
• Covers the logic of running standard Linux as a
background thread to the real-time tasks
• Real-Time Mechanism: micro kernel
• < 10 microseconds latency and jitter
20
Open-Source: TimeSys Linux GPL
• TimeSys
• 1998
• Provides a preemptable kernel and an improved
task scheduler
• Real-Time Mechanism: Preemptable Kernel
• < 100 microseconds of latency and jitter
21
4. Commercial Distribution
•
•
•
•
•
•
•
RedHawk Linux
FSMLabs RTLinux
MontaVista Linux
QRTS
REDICE-Linux
Linux SMP
TimeSys
22
Commercial: RedHawk Linux
• Concurrent Computer Corporation
• Packaged hardware/software solutions
• Targeting the real time data acquisition, videoon-demand, and simulation markets
• Real-Time Mechanism Kernel: preemption
enhancements
23
Commercial: FSMLabs RTLinux
• Finite State Machine Labs
• RTLinux version 3.0 offers developers the option
of using either Linux or netBSD as their general
purpose OS, using the identical POSIX threads
API
• Real-Time Mechanism: Micro kernel
24
Commercial: MontaVista Linux
• MontaVista Software Inc.
• Tailor to the needs of embedded software
developers.
• Real-Time Mechanism: Kernel pre-emption
enhancements
25
Commercial: QRTS
• Quality Real Time Systems
• Develops applications for real-time control and
simulation.
• Real-Time Mechanism: RTLinux micro kernel
26
Commercial: REDICE-Linux
• REDSonic Inc.
• Integrates the dual kernel approach and the
preemptable kernel to provide a hybrid solution
• Real-Time Mechanism: Micro kernel and Kernel
Preemption.
27
Commercial: Linux SMP
• Synergy Microsystems Inc.
• Support RTLinux as the operating system on
their PowerPC single-board computers.
• Real-Time Mechanism: RTLinux micro kernel
28
Commercial: TimeSys Linux/RealTime,
TimeSys Linux/Net, TimeSys Linux/CPU
• TimeSys Corporation
• Adds three proprietary components into an
open-source preemptable kernel
▫ High-resolution timers and priority inheritance.
▫ Guaranteed access to CPU resources,
▫ Guaranteed access to network resources.
• Real-Time Mechanism: Preemptable Kernel.
29
Thank you!