Real Time Systems - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Real Time Systems

Description:

Investigate and present the functionality of Real Time Java as ... An avionics system for example. ... similar to what is found within an avionics system. ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 18
Provided by: ianb71
Category:
Tags: avionics | real | systems | time

less

Transcript and Presenter's Notes

Title: Real Time Systems


1
Real Time Systems
  • Investigate and present the functionality of Real
    Time Java as provided by the more popular
    compilers and its applicability to Real Time
    System Programming.

2
Requirements
  • The real-time Java expert group created
    principles to limit the changes needed to the
    Java VM.
  • These are
  • The specifications should not include any
    requirements that restrict its use to particular
    java environments.
  • The RTSJ must not prevent existing, properly
    written non real-time applications executing on
    the real-time machine.

3
Requirements 2
  • The Write once, run anywhere philosophy should
    be pursued as much as possible
  • The specification should include the current
    features but allow for the addition of new
    features in the future.
  • The most important feature should be the
    predictability of the execution.
  • The RTSJ must not include new keywords or modify
    the compiler.
  • The RTSJ should not mandate algorithms but,
    rather require that implementers meet the
    specifications.

4
Standard Java issues
  • The Java Garbage collector causes a few problems,
    these are
  • Dynamic allocation of memory
  • Fragmentation of the memory
  • Scheduling

5
Standard Java issues
  • Problem with inverse priority low level threads
    prevent higher level ones running.
  • The java virtual machine does not implement a
    mechanism for determining the execution of tasks

6
Available Technology
  • KVM and J2ME
  • PERC
  • Chocolate
  • The Jamaica Virtual Machine

7
KVM and J2ME
  • Kilio Virtual machine (KVM)
  • Possible to run java programs on any 16-bit
    processor with 128k memory.
  • Does not take real-time specifications into
    account but does improve performance.
  • Java 2 Micro Edition(J2ME)
  • Designed for small embedded devices
  • Does not fully comply with the RTSJ
  • With KVM offers a strong embedded development
    platform .

8
PERC
  • Real-time java virtual machine
  • Lacks some libraries
  • Improved features
  • Garbage collector
  • Dispatcher management
  • Memory Management


9
Chocolate A Reservation-Based Real-Time Java
Environment
  • Limited to Windows NT
  • Many new features such as
  • Memory Management
  • Synchronization and Resource-Sharing
  • Thread Termination
  • Physical Memory Access


10
The Jamaica Virtual Machine
  • The Jamaica VM is the only Java implementation
    with an efficient hard real-time garbage
    collector.
  • Provides the user with hard real-time
  • Compatible with standard Java syntax
  • Fast execution
  • High priority threads can override lower ones


11
Features of the RTSJ
  • Improved scheduling by introduction of two new
    thread types.
  • Improved synchronisation introduction of the
    priority inheritance protocol prevents priority
    inversion.

12
Features of the RTSJ
  • Resource Management
  • Physical Memory Access
  • RawMemoryAccess class
  • PhysicalMemoryAccess class
  • Dynamic Memory Management
  • Physical memory, used for non-volatile RAM
  • Immortal memory, as the name suggests!
  • Scoped memory, destroyed when out of scope
    without GC involvement.

13
JTime
  • A JVM from TimeSys.
  • Complies to the RTSJ
  • provides everything that you expect from a Java
    runtime environment, plus predictability
  • Underwent testing by Boeing with excellent
    results.
  • RT Java for Distributed Real-Time Embedded (DRE)
    Systems?
  • An avionics system for example.

14
JTime Threads
  • An experiment of thread throughput for each
    thread type
  • RealTimeThread
  • NoHeapRealTimeThread
  • Standard Java thread

Aim was to record the time taken to perform a
computationally intensive algorithm, similar to
what is found within an avionics system.
15
Priority Inheritance
  • JTime adds a strict, real-time priority scheduler
    with greater precision and hundreds of
    precisely-specified pre-emptive priorities.
  • An experiment to record the time taken to boost
    and un-boost priorities within JTime.

Uses a three thread case of priority
inheritance LPT, MPT HPT.
16
Context Switching
  • An experiment to record the time taken to
    context switch using threads within JTime.
  • A two thread case was used by executing a HPT
    with a contending LPT their run() methods
    simply called yield().

17
Summary
  • RTSJ implementations are capable of providing
    sufficient real-time characteristics.
  • Massive support from the real-time community
    shows promise.
  • More testing needed for its use within DRE
    systems.
Write a Comment
User Comments (0)
About PowerShow.com