Presentation is loading. Please wait.

Presentation is loading. Please wait.

XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher.

Similar presentations


Presentation on theme: "XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher."— Presentation transcript:

1 XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher

2 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

3 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)

4 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

5 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.

6 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

7 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

8 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

9 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.

10 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

11 Synchronization Accomplished through Synchronizer class Provides a “mutual exclusion primitive” for locking and signaling Tracks usage so locks held by trapped tasks are released

12 Memory Management Problems to overcome Memory management schemes Heap Manager Dynamic linking and loading

13 Problems to Overcome Separate address spaces Illegal pointer operations

14 Memory Management Schemes Paging Virtual address space (2 32 bytes) Solves: –Nil-checks –Stack-overflow –Noncacheable DMA ranges –Unloaded module references

15 Heap Manager Garbage Collector –Non-realtime task –Variable priority Mark-and-Sweep algorithm –Interruptible –Collaborates between garbage collector and running tasks

16 Dynamic Linking and Loading Module loading –Usually less than 32 KB in size –Checked for version-consistency –Dynamically linked Module removal

17 Host and Target Host runs on most commercial OS Win95/winNT Sun/Unix Oberon 2 programming environment Target System Motorola boards and Power PC

18 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

19 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

20 Future Plans for XOberon Addition of a real-time compatible incremental garbage collector Off-line execution time profiling Java Support ActiveX visualization tools

21 XOberon - Summary XOberon provides a reliable real-time execution environment Runs embedded applications used in high- demanding environments Low system overhead


Download ppt "XOberon CS-474-2 Fall 2002 Dr. Abzug Jeremy Bruker Jeremy Carbaugh Jeff Hensley Drew Stockdreher."

Similar presentations


Ads by Google