Download presentation
Presentation is loading. Please wait.
Published byKelley Hood Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.