xoberon cs-474-2 fall 2002 dr. abzug jeremy bruker jeremy carbaugh jeff hensley drew stockdreher
TRANSCRIPT
![Page 1: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/1.jpg)
XOberon
CS-474-2 Fall 2002 Dr. Abzug
Jeremy BrukerJeremy Carbaugh
Jeff HensleyDrew Stockdreher
![Page 2: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/2.jpg)
XOberon - Introduction
• XOberon is a real-time operating system that runs real-time and non-real-time processes– Pre-emptive multi-tasking– Deadline-drive scheduling– Dynamic linking– Garbage collection
• Used in embedded machines for robotics and industrial uses
![Page 3: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/3.jpg)
Goal• The goal of XOberon is about providing a
framework for non-computer-scientists, looking for a rapid application development (RAD) tool for programming embedded applications.
• The charter of XOberon is about providing a reliable, real-time capable run-time environment with safety aspects guaranteed by the operating system.(Brega and Vestli)
![Page 4: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/4.jpg)
Brief History• XOberon is a hard real-time OS
• Loosely Based on the Oberon system
• Developed at the Institute of Robotics (IFR), Swiss Federal Institute of of Technology, Zürich(ETHZ)
• Developed for high-end mechatronic products
• Written in the Oberon-2 Object Oriented programming language
![Page 5: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/5.jpg)
Hardware
• Runs natively on the Motorola VME boards based on MC680x0 and the PowerPC architectures
• Newer versions only on PowerPC
• Host machine runs the Oberon-2 compiler, and transmits emitted code to the target machine via an ethernet link.
• Size: complete OS needs 1 MB ROM and 1.5 MB of RAM on the target machine.
![Page 6: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/6.jpg)
Scheduling
• New paradigm of deadline-driven scheduler
• Task parameters: run method, exception handler, deadline, duration, period
• Period used only for repetitive tasks
• Deadline – latest time when results are usable
![Page 7: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/7.jpg)
Scheduling – Duration/WCET
• Duration – amount of processor time needed to complete longest execution path
• Real-Time Code Analyzer – calculates longest path during compilation (WCET)
• PowerPC604 Performance Monitor
• Duration includes execution time of error handler
![Page 8: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/8.jpg)
Scheduling – Real-Time
• Test for admission to system
• Task with shortest deadline runs until:– Execution completes– Another task has a shorter deadline– Task exceeds duration
![Page 9: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/9.jpg)
Scheduling – Non-Real-Time
• Non-real-time tasks are referred to as threads
• Threads are executed only when no real-time tasks are pending
• Each thread has a priority
• User can choose scheduling algorithm for threads– Round-robin, priority-driven with priority aging, etc.
![Page 10: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/10.jpg)
Scheduling - Overhead
• Overhead is less than one percent on base system– MVME1600 board with 100 MHz
PowerPC604
• Scales linearly for more processes
• Decreases linearly with better implementations
![Page 11: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/11.jpg)
Synchronization
• Accomplished through Synchronizer class
• Provides a “mutual exclusion primitive” for locking and signaling
• Tracks usage so locks held by trapped tasks are released
![Page 12: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/12.jpg)
Memory Management
• Problems to overcome
• Memory management schemes
• Heap Manager
• Dynamic linking and loading
![Page 13: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/13.jpg)
Problems to Overcome
• Separate address spaces
• Illegal pointer operations
![Page 14: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/14.jpg)
Memory Management Schemes
• Paging
• Virtual address space (232 bytes)
• Solves:– Nil-checks– Stack-overflow– Noncacheable DMA ranges– Unloaded module references
![Page 15: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/15.jpg)
Heap Manager
• Garbage Collector– Non-realtime task– Variable priority
• Mark-and-Sweep algorithm– Interruptible– Collaborates between garbage collector and running
tasks
![Page 16: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/16.jpg)
Dynamic Linking and Loading
• Module loading
– Usually less than 32 KB in size
– Checked for version-consistency
– Dynamically linked
• Module removal
![Page 17: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/17.jpg)
Host and Target• Host runs on most commercial OS
• Win95/winNT
• Sun/Unix
• Oberon 2 programming environment
• Target System
• Motorola boards and Power PC
![Page 18: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/18.jpg)
Applications of XOberon
• Hexaglide
– Milling machine
– Runs PowerPC604 at 100MHz
– Hard real-time processes use 89.8% of processor time
– Scheduler capable of running 19 applications and system task with only 5.5% overhead
![Page 19: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/19.jpg)
Applications of Xoberon cont.
• RoboJet Cement Sprayer
• Used for spraying cement sections in a tunnel
• Uses a 6 direction of freedom joystick.
• 8 hydraulic actuators are used by the control system, that are based on XOberon
![Page 20: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/20.jpg)
Future Plans for XOberon
• Addition of a real-time compatible incremental garbage collector
• Off-line execution time profiling
• Java Support
• ActiveX visualization tools
![Page 21: XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher](https://reader033.vdocument.in/reader033/viewer/2022051516/56649ee45503460f94bf3b8f/html5/thumbnails/21.jpg)
XOberon - Summary
• XOberon provides a reliable real-time execution environment
• Runs embedded applications used in high-demanding environments
• Low system overhead