31 Oktober 2000 SEESCOASEESCOA STWW - Programma Work Package 5 – Debugging Task 5.2 - Generic Debug Interface K. De Bosschere e.a.

Slides:



Advertisements
Similar presentations
4 December 2001 SEESCOASEESCOA STWW - Programma Debugging of Real-Time Embedded Systems: Experiences from SEESCOA Michiel Ronsse RUG-ELIS.
Advertisements

Operating-System Structures
Introduction CSCI 444/544 Operating Systems Fall 2008.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Enabling Efficient On-the-fly Microarchitecture Simulation Thierry Lafage September 2000.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Continuously Recording Program Execution for Deterministic Replay Debugging.
© ABB Group Jun-15 Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU Anders Rönnholm.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
How to Code on TinyOS Xufei Mao Advisor: Dr. Xiang-yang Li CS Dept. IIT.
Chapter 13 Embedded Systems
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
. Memory Management. Memory Organization u During run time, variables can be stored in one of three “pools”  Stack  Static heap  Dynamic heap.
Siemens’ 4 View Model (props to My-An Nguyen for giving me her 344 notes on which this lecture is based)
Cortex-M3 Debugging System
 Introduction Introduction  Definition of Operating System Definition of Operating System  Abstract View of OperatingSystem Abstract View of OperatingSystem.
0 Deterministic Replay for Real- time Software Systems Alice Lee Safety, Reliability & Quality Assurance Office JSC, NASA Yann-Hang.
25 August, 2015 SEESCOASEESCOA STWW - Programma D1.5: Choice of Platform Prof. Koen De Bosschere.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
UPC/SHMEM PAT High-level Design v.1.1 Hung-Hsun Su UPC Group, HCS lab 6/21/2005.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Process Management. Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Kernel, processes and threads Windows and Linux. Windows Architecture Operating system design Modified microkernel Layered Components HAL Interacts with.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
SC 2012 © LLNL / JSC 1 HPCToolkit / Rice University Performance Analysis through callpath sampling  Designed for low overhead  Hot path analysis  Recovery.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Replay Compilation: Improving Debuggability of a Just-in Time Complier Presenter: Jun Tao.
Operating-System Structures. Operating System Services Operating systems provide an environment for execution of programs and services to programs and.
Processes Introduction to Operating Systems: Module 3.
CS333 Intro to Operating Systems Jonathan Walpole.
25 April 2000 SEESCOASEESCOA STWW - Programma Evaluation of on-chip debugging techniques Deliverable D5.1 Michiel Ronsse.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
Concurrency Control 1 Fall 2014 CS7020: Game Design and Development.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Department of Computer Science and Software Engineering
Virtual Application Profiler (VAPP) Problem – Increasing hardware complexity – Programmers need to understand interactions between architecture and their.
1 University of Maryland Runtime Program Evolution Jeff Hollingsworth © Copyright 2000, Jeffrey K. Hollingsworth, All Rights Reserved. University of Maryland.
Threads. Readings r Silberschatz et al : Chapter 4.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
Execution Replay and Debugging. Contents Introduction Parallel program: set of co-operating processes Co-operation using –shared variables –message passing.
October 24, 2003 SEESCOASEESCOA STWW - Programma Debugging Components Koen De Bosschere RUG-ELIS.
Flashback : A Lightweight Extension for Rollback and Deterministic Replay for Software Debugging Sudarshan M. Srinivasan, Srikanth Kandula, Christopher.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Practice Chapter Four.
Chapter 2: System Structures
Process Management Presented By Aditya Gupta Assistant Professor
OPERATING SYSTEM OVERVIEW
Chapter 2: Operating-System Structures
Chapter 2: System Structures
Functions of an operating system
Threads Chapter 4.
Outline Chapter 2 (cont) OS Design OS structure
Chapter 2: Operating-System Structures
System calls….. C-program->POSIX call
Implementation Plan system integration required for each iteration
CS Introduction to Operating Systems
Presentation transcript:

31 Oktober 2000 SEESCOASEESCOA STWW - Programma Work Package 5 – Debugging Task Generic Debug Interface K. De Bosschere e.a.

SEESCOASEESCOA Goals  Define a debug-interface for components  Trace behaviour of components  Limit trace information  Checkpointing and replay of components  Must always be applicable to the system, not just during development

SEESCOASEESCOA Types of Debugging  Many types of debugging are possible  correctness debugging: where is the bug?  performance debugging: why is it so slow? (or fast?)  'exploratory' debugging: what does it do? How does it do it? ...  Many types of programs to debug  own source or third party libraries?  IO intensive or CPU bound?  text interface or GUI? ...  Many types of hardware to debug on/with  large workstations or small embedded systems  network access, GUI or text ...

SEESCOASEESCOA Requirements  Many types of information are required:  tracing of events:  method calls  accesses to objects  I/O  events from the component system  timing:  methods  I/O  resources:  heap  stack  locks

SEESCOASEESCOA Problems: Conclusions  So, the approach to debugging is linked to:  the type of debugging  the type of application being debugged  the type of hardware available  Requirements are varied and sometimes consume large amounts of resources  We need a flexible debugging solution:  all types of debugging must be possible  it must be possible to select only the debugging mechanisms we need  We need a flexible debugging solution:  all types of debugging must be possible  it must be possible to select only the debugging mechanisms we need

SEESCOASEESCOA Embedded System Standard embedded JVM configuration  Normal operation of embedded system + JVM JVM Input/Output Class

SEESCOASEESCOA Debugging Configuration on Board  Specialised instrumentation of class files  On the embedded system Embedded System JVM Input/Output Class Debug JVM Debug JVM

SEESCOASEESCOA Instrumentor Debugging Configuration on Two Systems  Specialised instrumentation of class files  Debugger is different system: minimal interference while maintaining high flexibility i.e. a component Embedded System JVM Input/Output Class Debug JVM Debug JVM Cache

SEESCOASEESCOA Potential Applications  Simple:  Print out activation tree  Time method calls ...  More complex:  Patch erroneous code  Analyse memory allocation  Trace arguments  Execution replay of non-deterministic multi-threaded applications  Tracing of some or all IO ...

SEESCOASEESCOA Developping Debugger module: Record/Replay  Multiple threads  Interleaving produces different results  Non-deterministic A=9 A=5 +Record all non-deterministic behaviour to trace and replay with this trace

SEESCOASEESCOA Future  Perfect the instrumentation layer  Implement a number of modules on top of this layer with useful functionality  Integrate with the component communication system  Further development of record/replay module

SEESCOASEESCOA Conclusions  Debugging is a very specific activity for which the requirements can vary greatly  Embedded systems have only a limited amount of resources  We propose to dynamically alter the bytecode to tailor the debugging facilities to the debug problem and the available hardware  We are currently developing debug facilities on top of this module