..................................... Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.

Slides:



Advertisements
Similar presentations
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Advertisements

Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Adapted from A. Burns, B. Dobbing, T. Vardanega: Guide for the use of the Ada Ravenscar Profile in high integrity systems, Univ. of York Tech. Report YCS ,
Real-Time Kernels and Operating Systems Basic Issue - Purchase commercial “off-the- shelf” system or custom build one Basic Functions –Task scheduling.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Computer Systems/Operating Systems - Class 8
Chapter 13 Embedded Systems
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Chapter 5 Processes and Threads Copyright © 2008.
1 Threads CSCE 351: Operating System Kernels Witawas Srisa-an Chapter 4-5.
490dp Synchronous vs. Asynchronous Invocation Robert Grimm.
Architectural Support for OS March 29, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
1 Concurrent and Distributed Systems Introduction 8 lectures on concurrency control in centralised systems - interaction of components in main memory -
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
Chapter 13 Embedded Systems
© Andy Wellings, 2003 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
Figure 1.1 Interaction between applications and the operating system.
CprE 458/558: Real-Time Systems
Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Operating Systems: Internals and Design Principles.
Performance Evaluation of Real-Time Operating Systems
Timing and Race Condition Verification of Real-time Systems Yann–Hang Lee, Gerald Gannod, and Karam Chatha Dept. of Computer Science and Eng. Arizona State.
Introduction to Embedded Systems
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Operating System Overview Chapter 2 Advanced Operating System.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Real-Time Java on JOP Martin Schöberl. Real-Time Java on JOP2 Overview RTSJ – why not Simple RT profile Scheduler implementation User defined scheduling.
Real Time Operating Systems Lecture 10 David Andrews
Real-Time Systems Design1 Priority Inversion When a low-priority task blocks a higher-priority one, a priority inversion is said to occur Assume that priorities:
What Does Real-Time Mean? Main difference to other computation: time time means that correctness of system depends - not only on logical results - but.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
CE Operating Systems Lecture 11 Windows – Object manager and process management.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership: process includes a virtual address space to hold the process image (fig 3.16)
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
1 CSE451 Architectural Supports for Operating Systems Autumn 2002 Gary Kimura Lecture #2 October 2, 2002.
CSCI1600: Embedded and Real Time Software Lecture 18: Real Time Languages Steven Reiss, Fall 2015.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
4.1 Introduction to Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
REAL-TIME OPERATING SYSTEMS
The Mach System Sri Ramkrishna.
Topics Covered What is Real Time Operating System (RTOS)
Real-time Software Design
Chapter 3: Windows7 Part 2.
Threads, SMP, and Microkernels
Chapter 3: Windows7 Part 2.
Lecture 4- Threads, SMP, and Microkernels
Architectural Support for OS
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
CSE 451: Operating Systems Autumn 2001 Lecture 2 Architectural Support for Operating Systems Brian Bershad 310 Sieg Hall 1.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Chapter 2 Processes and Threads 2.1 Processes 2.2 Threads
Architectural Support for OS
Presentation transcript:

Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant November 1999

November 1999 High Integrity and Fault Tolerance Background n Real-Time Core Specification is Released n High Integrity Profile –A subset of APIs in the RT-Core –Address requirements of Fault Tolerance High Integrity and Safety Critical systems –Work in progress, led by Aonix Draft circulated for internal J-Consortium review CALL FOR PARTICIPATION e.g. from Telecoms

November 1999 High Integrity and Fault Tolerance Characteristics Partitioning Minimal Size Determinism Certifiability Fault Tol High Integ Safety Crit

November 1999 High Integrity and Fault Tolerance Partitioning - single processor Non-Critical e.g. JVM Critical Component I/O devices Physical memory access Other peripherals Network Controlled Communication

November 1999 High Integrity and Fault Tolerance Partitioning - hot standby Network Critical Component Controlled Communication Critical Component I/O devices / Physical memory Controlled Communication Messages

November 1999 High Integrity and Fault Tolerance Partitioning - distribution Network Critical Component Controlled Communication Critical Component I/O devices / Physical memory Controlled Communication Non-Critical Component Messages Support for Distributed Systems is being addressed by “Real-Time and Embedded Distributed Middleware Profile”

November 1999 High Integrity and Fault Tolerance Partitioning - interfaces Critical Component Remote Method Invocation Interface Parameters / Results (No Addresses) Physical Memory

November 1999 High Integrity and Fault Tolerance Partition Construction n Static Linking only –Need to verify statically every byte loaded n Native code execution only –Temporal constraints prohibit interpreters n “Control” of the processor –HI partition will (normally) contain main() –Low-level interaction with underlying board Intended to be user-configurable

November 1999 High Integrity and Fault Tolerance Memory Management (1) Execution Stack Default Allocation Context Per Thread Stackable Objects plus dynamic call frames Non-Stackable Objects No garbage collector!

November 1999 High Integrity and Fault Tolerance Memory Management (2) n Allocation context re-used for each run() –Useful for Periodic, Sporadic, Interrupt tasks n Special allocation context supported –Programmatic reclamation for Ongoing tasks n Allocation context must be non-fragmenting

November 1999 High Integrity and Fault Tolerance Concurrency n Periodic tasks (threads) –Scheduled by the runtime system n Sporadic tasks (threads) –Additional to RT Core, run by signalling Events n Interrupt “tasks” (handlers) –Triggered by hardware / software interrupt n Ongoing tasks (not run automatically) –Often background tasks in an infinite loop

November 1999 High Integrity and Fault Tolerance Task Interaction n Remove asynchronous task-to-task actions –Stop, Interrupt, Wakeup, Suspend / Resume –Important for replica determinism n PCP used for Synchronized methods –Mutual exclusive access to Shared Resources –Tight bound on the blocking time (no queues) –Used in preference to mutexes, semaphores n Atomic regions used for interrupt handlers –Can signal Event object to run Sporadic task

November 1999 High Integrity and Fault Tolerance Task Interaction Example Periodic Task Sporadic Task Interrupt Task PCP Object putget Event object signalrun H/w interrupt run

November 1999 High Integrity and Fault Tolerance Scheduling n Priorities as in the RT-Core –Interrupt range + non-interrupt range n Normal FIFO_Within_Priorities scheduling n Task inherits ceiling priority when in PCP n Each task has : –Base priority (at creation time) –Active priority (for scheduling) Higher of base and any inherited priority

November 1999 High Integrity and Fault Tolerance Sequential Execution n Need to be able to support : –Access to physical memory addresses for example RT Core IO class and Device I/O Registry –Exception handling Needed for failure recovery (roll back state) –Finally clauses Tidy up when failure occurs n Must exclude any non-determinism –Needed for replica consistency in fault tolerance

November 1999 High Integrity and Fault Tolerance Fault Tolerance (1) n Hardware-related considerations –Keep standby replicas as identical as possible Eliminate constructs with race conditions Predictable execution even if clocks vary slightly –Allow access to physical addresses e.g fast DMA to compare / update state in replica –No addresses exported from HI partition Simplifies switching to replica on failure

November 1999 High Integrity and Fault Tolerance Fault Tolerance (2) n Software-related considerations –Checkpoint objects at specific points Save state in durable (persistent) storage Allow access to physical addresses for this storage –Detect and recover from data errors Exception catching Roll back to saved state –Tidy up in normal and exception case Finally clauses

November 1999 High Integrity and Fault Tolerance Summary (1) n The HI Profile supports : –Partitioning Controlled access to code and data –Determinism in sequential and concurrency –Small footprint runtime system n Proposed features : –Simplified memory management scheme Including access to physical memory addresses –Simplified threads kernel –Full exception handling and “finally” clauses

November 1999 High Integrity and Fault Tolerance Summary (2) n The HI Profile will be : –Compatible with the Real-Time Core definition –Compatible with the Distributed Middleware profile n A full solution for the entire range of software requirements Needs YOUR review comments & participation