1 EPICS Bus Errors & Power PC u VME Bus Error can generate a Machine Check Exception (MCE) u The WRS mv2700 BSP doesn’t have code to do this u Write cycles.

Slides:



Advertisements
Similar presentations
Chapter 2 Operating System Overview
Advertisements

Part IV: Memory Management
The eCos real-time operating system an open source tool to create embedded kernels and applications.
Microprocessors General Features To be Examined For Each Chip Jan 24 th, 2002.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 4: Threads Overview Multithreading Models Threading Issues Pthreads Windows.
Threads. Objectives To introduce the notion of a thread — a fundamental unit of CPU utilization that forms the basis of multithreaded computer systems.
Threads.
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
Course: Operating Systems Instructor: Umar Kalim NUST Institute of Information Technology, Pakistan Operating Systems.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
6-1 I/O Methods I/O – Transfer of data between memory of the system and the I/O device Most devices operate asynchronously from the CPU Most methods involve.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Ch 4: Threads Dr. Mohamed Hefeeda.
Threads CSCI 444/544 Operating Systems Fall 2008.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Ch 4: Threads Dr. Mohamed Hefeeda.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Objectives Thread definitions and relationship to process Multithreading.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Chapter 4: Threads READ 4.1 & 4.2 NOT RESPONSIBLE FOR 4.3 &
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Input/Output Controller (IOC) Overview Andrew Johnson Computer Scientist, AES Controls Group.
Previous Next 06/18/2000Shanghai Jiaotong Univ. Computer Science & Engineering Dept. C+J Software Architecture Shanghai Jiaotong University Author: Lu,
Application Links Chapter 7.1 V3.0 Napier University Dr Gordon Russell.
11 Getting Started with C# Chapter Objectives You will be able to: 1. Say in general terms how C# differs from C. 2. Create, compile, and run a.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Chapter 4: Threads. 4.2CSCI 380 Operating Systems Chapter 4: Threads Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 4 Operating Systems.
Chapter 4: Threads. 4.2 Chapter 4: Threads Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux Threads Java Threads.
Silberschatz, Galvin and Gagne ©2011Operating System Concepts Essentials – 8 th Edition Chapter 4: Threads.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Threads A thread (or lightweight process) is a basic unit of CPU.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
RTEMS overview W. Eric Norum Introduction RTEMS is a tool designed specifically for real-time embedded systems The RTEMS product is an executive.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Exploiting Windows 2000 Kyle Marsh Software Design Engineer Windows Evangelism Microsoft Corporation
Operating Systems Lecture 7 OS Potpourri Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software.
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Seungweon Park.
Chapter 4 – Threads (Pgs 153 – 174). Threads  A "Basic Unit of CPU Utilization"  A technique that assists in performing parallel computation by setting.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 4: Threads Modified from the slides of the text book. TY, Sept 2010.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Lecture 3 Threads Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Threads-Process Interaction. CONTENTS  Threads  Process interaction.
1 1999/Ph 514: Channel Access Configuration EPICS Channel Access Configuration Andrew Johnson APS.
Portability Operating System and Architecture Independence Solaris - Ultra Sparc Linux - PPC/Pentium VxWorks - PPC-Altivec MAC OS X - PPC-Altivec Windows.
EPICS and LabVIEW Tony Vento, National Instruments
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
Operating System Concepts
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Introduction to Operating Systems Concepts
OPERATING SYSTEM CONCEPT AND PRACTISE
Chapter 4: Threads.
CS 6560: Operating Systems Design
Chapter 4: Threads.
Threads and Data Sharing
Chapter 4: Threads.
Chapter 4: Threads.
EPICS BASE Release alpha3 EPICS Meeting at IHEP
Chapter 4: Threads.
CSE 153 Design of Operating Systems Winter 19
Outline Operating System Organization Operating System Examples
Chapter 4: Threads.
The Lua Chunk Vault, an enhancement to epics base
Presentation transcript:

1 EPICS Bus Errors & Power PC u VME Bus Error can generate a Machine Check Exception (MCE) u The WRS mv2700 BSP doesn’t have code to do this u Write cycles complete “normally”, Read cycles return 0xffffffff u I can provide code to generate a MCE on VME Bus Error u For read cycles on an mv2700, the MCE appears to be synchronous u The instruction that caused the MCE is given (although vxWorks’ exception report doesn’t say what address was being accessed) u Write cycles can be delayed well beyond the end of their instruction u The Universe-2 VMEbus interface chip contains a Write Posting FIFO u Write Posting is usually enabled for the A32 window, but not the A16 u MCE is not asserted if a write-posted cycle gets a Bus Error u It can generate an interrupt instead, and the BERR address is saved u For a coupled write cycle, the MCE is asynchronous and may indicate a different routine (a task switch seems unlikely, too many instructions)

2 EPICS C++ Guidelines for Base Andrew Johnson APS/ANL

3 EPICS C++ in R3.14 Alpha-1 u 3.14 is the first version of Base with C++ code in the IOC u Tornado 2.0 first version of vxWorks to support this u Solaris, Win32, Linux and RTEMS also support C++ u Why use C++? u Increased type safety u Structural advantages: modularity, inheritance, templates u Future needs of EPICS community u No C++ compiler is fully ISO C++ compliant yet u Different C++ features are missing on different compilers u The C++ Standard Library is not uniformly implemented or efficient on different platforms

4 EPICS C++ in Base u 3.14 Alpha-1 has the following C++ components u Portable CA server (not used in the IOC yet) u Channel Access client library u Some C++ facilities in libCom used in the above Don’t rely on the libCom C++ facilities in 3.14 Alpha-1! u The APIs and functionality will be changing u 3.14 libCom C++ facilities are being revised to provide u A subset of ISO Standard C++ APIs where practical u string, linked list, hash table u Simple class interfaces to common facilities independent of OS u binary & mutex semaphores, threads, timestamp, timers, ring buffer

5 EPICS C++ Features to Beware u Exceptions are not fully supported on all platforms u Exception-safe library code is hard to write correctly  Base will provide macros to allow platform-independent code, calling cantProceed() where throw() is not available u Namespaces are not supported on all platforms  Where they are, C++ facilities in libCom will appear inside a namespace epics { … } block. u Base will provide macros to allow platform-independent code u Explicit template instantiation can vary slightly between the different compilers u The more advanced template features are commonly unavailable on one or more compilers

6 EPICS The C++ Standard Library u We want to use standard C++ APIs where we can, but u The implementation of the standard containers (list etc.) is very slow on certain platforms u Tornado 2.0 versions are particularly bad, list is up to 12 times as slow as the equivalent ellList library in C u Where these are most useful Base will provide an efficient version that supports a subset of the standard API u Standard library containers could fragment the free memory pool over a long period of time u Every list insert and delete operation [de]allocates memory u Base implementations of standard containers use free-lists u Base provides a free-list template for other classes to use

7 EPICS Further C++ Reading u IOC Application Developers Guide for R3.14 u Will describes the C++ facilities in libCom when finalized u [More] Effective C++ by Scott Meyers, Addison Wesley u These 2 books are now available in HTML on one CD-ROM with a search engine, extensive cross-links and some extra material  The GNU C++ compiler in Tornado 2 has a –Weffc++ switch that warns about code that violates some of Meyers’ guidelines u Mozilla has even bigger portability problems than EPICS, and provides guidelines for developers at