1 / 0

Group 9

Group 9. Tittle:Real Time Linux Members: Lê Viết Hợp Biện Xuân Vĩnh. 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

kenna
Download Presentation

Group 9

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Group 9 Tittle:RealTime Linux Members: LêViếtHợp BiệnXuânVĩ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 1003.1d 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 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 1003.1d. 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 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'simplementation Implementation of a RT-linuxplugin 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-linuxplugin,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 DipartimentodiIngegneriaAerospaziale - Politecnicodi 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 1003.1d. 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).  http://www.aero.polimi.it/projects/rtai/contrib.htm Adaptive Domain Envioronment for Oprerating Systems, by KarimYaghmour. http://www.linuxsymposium.org/archives/OLS/Reprints-2001/yaghmour.pdf Linux/RK: A Portable Resource Kernel in Linux, by Shuichi Oikawa and RagunathanRajkumar. CS397 Ambuj and Utkarsh Feb 2000 Real Time Linux
  29. Thank you! Q&A Real Time Linux
More Related