real time operating systems n.
Skip this Video
Loading SlideShow in 5 Seconds..
Real Time Operating Systems PowerPoint Presentation
Download Presentation
Real Time Operating Systems

Real Time Operating Systems

372 Views Download Presentation
Download Presentation

Real Time Operating Systems

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Real Time Operating Systems Alexandru Andrei Embedded Systems Lab. Computer and Information Science Dept., Linköping University Alexandru Andrei ESLAB/IDA/LIU

  2. QNX (RealTime)Solaris, (RealTime) NT RealTime Java, RealTime Linux The Question - RealTime Nachos ? Why not RealTime Nachos ? Why not a RT Linux? Alexandru Andrei ESLAB/IDA/LIU

  3. Build a RTOS from scratch (QNX) Better design Use an existing OS and add RT functionality (Solaris, RT Linux) Can use already existing tools (compilers) Easy to operate But...? App Specific RTOS ? Alexandru Andrei ESLAB/IDA/LIU

  4. Use a special purpose RTOS with its development tools (e.g., QNX) Same env. as in actual development stage Use an existing OS with added RT functionality Affordable training equipment (ordinary systems?) Use a simulator (e.g., RT-Natchos) Runs on all platforms (potentially) But....?? RTOS Training Environment? Alexandru Andrei ESLAB/IDA/LIU

  5. Previous two lectures have shown a few “real” RTOS’es Can we add real-time support to an operating system? To a real Linux system? To a simulated system as Nachos? Focus Alexandru Andrei ESLAB/IDA/LIU

  6. Things that matter…. Dispatch time Interrupt handling (NT example) Scheduling and priority handling(example: NT and Solaris) Memory management Program (library) loading …. and more Focus Alexandru Andrei ESLAB/IDA/LIU

  7. Recall: Dispatch Time Alexandru Andrei ESLAB/IDA/LIU

  8. Example: NT Interrupts Turn off lower level interrupts... ...perform minimal preparations... ...initiate aDeferred Procedure Call Alexandru Andrei ESLAB/IDA/LIU

  9. NT does not prioritize device interrupts in any controllable way and user-level applications execute only after device drivers The system's devices and drivers (not NT) ultimately determine the worst-case delay NT cannot deterministically forecast maximum delays RT NT ? Nope … Alexandru Andrei ESLAB/IDA/LIU

  10. Example: Solaris Priority Classes Alexandru Andrei ESLAB/IDA/LIU

  11. Runs in the RT scheduling class Locks down all the memory in its process address space Is from a statically-linked program or from a program in which all dynamic binding is completed early Acquires the processor within the guaranteed dispatch latency period of becoming runnable Continues to run for as long as it remains the highest priority runnable process Rules for Solaris Real-Time Apps Alexandru Andrei ESLAB/IDA/LIU

  12. Example: NT priority classes Alexandru Andrei ESLAB/IDA/LIU

  13. lock specified portions of its virtual address space into physical memory locked pages are exempt from paging until they are unlocked or the process exits its application’s responsibility to lock a page (or all) using a system call Memory Management Memory locking (SUN, NT …) … to guarantee continuous memory residence to reduce latency and to prevent paging and swapping. Alexandru Andrei ESLAB/IDA/LIU

  14. Save memory space (dynamic binding) … but introduces nondeterminism at execution time Solution (Solaris): early binding dynamic linking to be bound before the program begins execution Shared Libraries Alexandru Andrei ESLAB/IDA/LIU

  15. Right now - there is no such thing... No real-time support built in Even the notion of time is fuzzy(how to simulate time? In Nachos today? In a RT simulator...?) ”Real-Time” Nachos Alexandru Andrei ESLAB/IDA/LIU

  16. The clock ticks: When the interrupts are restored (reenabled) When the simulator executes one instruction (ticks=ticks+1) When the ready list is empty ticks=ticks+time_till_list_is_not_empty Nachos Clock Today Alexandru Andrei ESLAB/IDA/LIU

  17. What happens when the interrupts are off? How much time does it take to execute one instruction? Other ”Hot spots”: Scheduler Memory management Interrupts Synchronization ... Hmm ... Alexandru Andrei ESLAB/IDA/LIU

  18. The Big Corporation is building safety critical Real Time systems.......but in order to reduce costs: Can we train RT-programmers in a simulated environment based on Nachos? Can we use some RT-Linux in real projects?(instead of, e.g., QNX?) The Project - Scenario Alexandru Andrei ESLAB/IDA/LIU

  19. Request to all research divisions:Investigate and report! Two tracks: Simulated environment based on Nachos Compare two RT-Linuxes for usage in real projects Conclude with an open hearing of selected reports – where other authors acts as opponents See also for CFP and details! The Project - Scenario Alexandru Andrei ESLAB/IDA/LIU

  20. Pick one of the following two subjects Implementing (simulated) real-time on top of Nachos:Possible? Not possible? Good/bad stuff? Meaningful?Show what can be done (speculate!) Perform a comparison of two alternative RT-Linuxes Perform literature research and write a technical paper (4-6 pages, 5000-6000 words) Describe the issues important in a RTOS and how they are handled in your ”system” The Project – In parctice Alexandru Andrei ESLAB/IDA/LIU

  21. Teams of 2 students Decide on topic – RT-Nachos or RT-Linux RT-Linux teams:Select two RT-Linuxes to compare Register (sign-up) your topic, and for RT-Linux teams, what Linuxes, by sending an email to containing: the words TDDB72 and RTPROJ in the subject name and email of you and your partner in the group your selected topic (when applicable: what RT-Linuxes) The Project – In parctice Alexandru Andrei ESLAB/IDA/LIU

  22. All reports will be read and commented,(at least to some extent) Too sloppy, erroneous or technically thin reports will be returned for improvement – at most once! Presentation: We will place you in groups of 2-3 teams with the same topic One team will present their work (~10min) The other team will oppose, comment, and/or advocate for their own ideas... (~5min) And the audience is also invited to ask questions and comment... The Project – In parctice Alexandru Andrei ESLAB/IDA/LIU

  23. Presentation (cont): 3 presentations / 45min 3 groups active at each presentation 2 students * 3 groups * 3 presentations * 2h-lessons= 36 students/lesson All ~80 groups covered in 5 lessons Each student only participate in one 2h-lesson! The Project – In practice Alexandru Andrei ESLAB/IDA/LIU

  24. Deadlines: Sign up: v46 (before Monday 17/11 at 13.00) Deadline for submissions: v48 (Friday 28/11) Response at end of v49 Presentation: v50 (detailed schedule later) Review Board: All staff in this course... See names, phones and rooms on the web! The Project – In practice Alexandru Andrei ESLAB/IDA/LIU

  25. Interval response components in the Solaris Operating Environment (Solaris RealTime, SUN tech. paper) Windows NT as Real-Time OS? (Martin Timmerman) Nachos lab compendium RT Mach Real-Time Systems (Jane Liu) (book) Software Engineering for Real-Time Systems(Jim Cooling) (book) …for more material! Reading Material Alexandru Andrei ESLAB/IDA/LIU

  26. Good luck ! Alexandru Andrei ESLAB/IDA/LIU