Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tittle:Real Time Linux

Similar presentations


Presentation on theme: "Tittle:Real Time Linux"— Presentation transcript:

1 Tittle:Real Time Linux
Group 9 Tittle:Real Time Linux Members: Lê Viết Hợp Biện Xuân Vĩnh Real Time Linux

2 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

3 Kenel Linux Real Time Linux

4 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

5 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

6 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 d Kernel: is to implement some real-time extensions within Standard Linux Kernel such as timer, scheduling , preemtion logic, etc. Real Time Linux

7 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

8 Micro Kernel Real Time Linux

9 Nano Kernel Real Time Linux

10 Resource Kernel Extension
Real Time Linux

11 Dual-Kernel Advantages Disadvantages
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 Real Time Linux

12 POSIX Real Time Extentions
Directly modify the standard kernel and provide libraries that together implement the POSIX real-time 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 d. Real Time Linux

13 POSIX Real Time Extentions
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. Real Time Linux

14 Performance Characteristics: Event Latency. Periodic Jitter.
Performance Comparison with other Real Time Kernel Performance Characteristics: Event Latency. Periodic Jitter. Real Time Linux Real Time Linux

15 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

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

17 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 :  Priority based preemptive. 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. Real Time Linux

18 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). Real Time Linux

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

20 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:  Suspend.  Resume. Yield.  Make periodic.  Wait until. Schedulers: UP (Uni-processor). SMP (symetric multi-processor). MUP (Multi-Uni-Processor). Supporting: FIFO, Shared Memory, Semaphore,Message queue and Mail boxes in IPC. Real Time Linux

21 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 d. Real Time Linux

22 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. Real Time Linux

23 KURT's scheduling 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. Real Time Linux

24 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. Real Time Linux

25 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. Real Time Linux

26 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. Real Time Linux

27 Linux/RK's implementation
Adding a resource kernel which is a real-time kernel (operating system) that : Provides to applications Timely Guaranteed, and Enforced access to System Resources 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 Real Time Linux

28 References Real-time linux report v2.0.0, by Aeolean Inc in NIST (Intelligent Systems Division National Institute of Standards & Technology).   Adaptive Domain Envioronment for Oprerating Systems, by Karim Yaghmour. Linux/RK: A Portable Resource Kernel in Linux, by Shuichi Oikawa and Ragunathan Rajkumar. CS397 Ambuj and Utkarsh Feb 2000 Real Time Linux

29 Thank you! Q&A Real Time Linux


Download ppt "Tittle:Real Time Linux"

Similar presentations


Ads by Google