Advanced Debugging with the System Profiler. Rennie Allen Cisco Field Application Engineer
|
|
- Sherilyn Gertrude Bishop
- 5 years ago
- Views:
Transcription
1 Advanced Debugging with the System Profiler Rennie Allen Cisco Field Application Engineer
2 What is the System Profiler? The System Profiler is a logic analyser for your software system The kernel records every operation in an internal buffer A tool is used to extract this data to a file The file is loaded into the analyser (i.e. the System Profiler) An array of utilities (known as views in Eclipse-speak) are used to mine the data for information about the problem Just like a hardware logic analyser: It is probably not the first tool to be selected It requires a deep understanding of both the tool, and the system being analysed When used correctly, is the only tool that can solve nearly any class of problem
3 Acquiring a Trace How to capture an effective trace
4 Classes of Problems that can be Analyzed Singleton Cyclical Sporadic Temporal Logical Logical Worst-case scenario No known source No information on type of problem Slightly better Can pinpoint when problem occurs Not reproducible Ideal scenario Can reproduce sequence of events/set of logic conditions Ideal scenario Can reproduce sequence of events/set of logic conditions The first step to analyzing a problem, is to develop a strategy to collect a trace As seen can be seen in the above diagram, there are two groupings of the above problem types that inform the basic direction of the trace acquisition strategy, and that is whether the event is singleton, or cyclical
5 Developing a Successful Trace Acquisition Strategy with the System Profiler Developing an effective trace acquisition strategy is likely the most important step Typically each problem requires development of a unique analysis strategy In order to develop a successful analysis strategy the tools/techniques available must be understood, some of these are: Linear tracing Ring-mode tracing Static filtering Dynamic filtering Dynamic statistics Dynamic tracing In broad terms the selection between linear tracing and ring-mode tracing, can be made by deciding whether the problem is cyclic or singleton Cyclic problems (which often encompass performance issues) are often addressed using linear tracing Singleton problems are often addressed with ring-mode tracing
6 Linear mode tracing Linear mode tracing is defined as tracing over a either a controlled period of time, or for a given amount of data Most often, linear mode tracing will make use of either the standard tracelogger or qconn utilities, although a custom utility can also be the appropriate choice Tracelogger is a command-line utility Qconn is a daemon process that allows the Momentics IDE to control the tracing process remotely Qconn allows much finer-grained control of run-time static filtering, than is possible with tracelogger Custom written utilities, can use the TraceEvent() API, to implement either static filtering (i.e. as with qconn) or dynamic tracing/filtering/statistics, none of which are possible with either qconn or tracelogger When linear tracing is required over a relatively long interval, static/dynamic filtering or dynamic tracing will often be necessary in order to maximize the duration which can be recorded in a given amount of storage space
7 Ring-mode tracing Ring-mode tracing is defined as tracing which takes place over an indefinite period, but only results in storage of the trace data when an event of interest occurs Ring-mode almost always involves development of a custom utility (or instrumentation of existing code) to detect the event of interest, and (like linear mode) can involve either static or dynamic run-time filtering as well Ring-mode can be implemented as a two phase process, when there is a known event that precedes the event of interest Phase 1, the user developed code disables tracing, and waits for the pre-cursor event to occur Phase 2, upon detection of the precursor event, tracing is enabled, and the user code waits for the event-of-interest to occur (at which point tracing is stopped, thus producing the trace file This two phase approach can reduce the need for filtering, resulting in the ability to capture more detailed data preceding the event-ofinterest
8 Static filtering Static filtering (at runtime) is defined as filtering based a static mask of events to be traced The tracelogger utility provides only crude control of these static filters The qconn daemon (via the Momentics IDE) provides full control of these static filters (for the duration of the trace) Dynamic tracing can modify these otherwise static filters
9 Dynamic filtering Dynamic filtering is defined as runtime filtering that can change over time based on the state of the system Does not use trace masks like static filtering Filters are established by attaching user event handlers to each event/class type to be filtered Arbitrary user provided C code in this handler determines whether event should be traced, or dropped, and returns either a zero (drop) or a one (trace) As with static filtering, dynamic filtering may be controlled by dynamic tracing
10 Dynamic statistics Dynamic statistics is defined as the runtime collection of event statistics Dynamic statistics are implemented using the same mechanism as dynamic filtering (i.e. the handler callbacks) User supplied code in the event/class handler callback counts events This can be as simple as simply counting each event, or it can be dynamic in that when certain event counters hit certain values, then other statistics counters are enabled, that also record related data An example might be a handler attached to mmap(), that when the number of calls to mmap crosses a threshold over some unit of time, signals a thread to insert a marker user trace (making analysis much easier) Dynamic statistics (like static and dynamic filters) can be controlled by dynamic tracing
11 Dynamic tracing Dynamic tracing is defined as tracing that modifies static/dynamic runtime filters and/or dynamic statistics based on a model of the system applied to the current state of that system This is useful for both chronic analysis (performance) and acute analysis (behavioural defects) An example might be an HA manager process, that focusses tracing on a particular process that it detects is mis-behaving (for instance, it might turn on wide-mode for a class of events related to the undesirable behaviour Dynamic tracing is an extraordinarily powerful technique for instrumenting a fielded system to collect high value traces without user intervention (i.e. it can be a critical component of HA) Dynamic tracing is not something that would typically be employed to analyse a specific defect, since custom code will generally be even more effective than a generalized approach
12 How does it work? The following diagram gives an overview of the mechanism involved in collecting trace data Process/thread creation System calls Interrupts On/Off filters (tracelogger) Static event filters (qconn) Dynamic filters (user code) Events Microkernel State changes E1 E2 E3 E4 E5 E6 Event buffers Visualization (System Profiler) Network Capture File
13 Tracelogger The utility that is most often mentioned when discussing trace acquisition is tracelogger The tracelogger utility serves three purposes It is a useful stand alone utility for linear tracing It is useful when used in conjunction with user supplied code in ringmode tracing Its source is a useful example reference of the TraceEvent() API The tracelogger command line options are described in the QNX documentation suite A simple invocation for linear tracing might be tracelogger w s10.0 This would collect 10 seconds of trace data with ring0 events removed, and all other events collected in wide mode A simple invocation for ring-mode might be tracelogger k256 r This would allocate 256 kernel buffers, and then wait for a _NTO_TRACE_STOP event, at which point it would unload the kernel buffers into a trace file
14 Qconn Qconn (Qnx CONNector) is the daemon that allows the IDE to connect to the target, and control tracing remotely Qconn can be started on cards/blades that don t have a management ethernet port, and (using Qnet) make use of the RP s management ethernet To use qconn on cards/blades that lack an ethernet port of their own, you need to start qconn with the environment variable SOCK set to point to the RP, and to utilize a port that does not conflict with another instance of qconn Example: SOCK=/net/node0_rp0_0 qconn port=8010 Start qconn on a linecard using the network stack on the RP, and listening on port 8010
15 TraceEvent() API The TraceEvent() API is the single most important feature when doing advanced debugging with the System Profiler The TraceEvent() API is document in the manuals Probably the simplest use of the TraceEvent() API that also illustrates the most significant results for debugging is the TraceEvent(_NTO_STOP_TRACE) call Using this single call, in combination with the tracelogger ring mode invocation, yields a backtrace (depth determined by number of kernel buffers and system load) from the detected fault Many DDTS s have been resolved using this technique, and knowledge of how to use this technique is fundamental to basic competency in the System Profiler
16 Analyzing a Trace Rudiments of basic analysis
17 Overview of the System Profiler The System Profiler is the tool that renders the binary trace file It is accessed at Window->Open Perspective->Other: QNX System Profiler The profiler has seven basic editor views, these are: Summary View Partition Summary View CPU Activity View CPU Usage View CPU Migration View Inter CPU Communication View Timeline View These are accessed by using the menu The profiler also has thirteen additional panel views icons, to access the pull-down These views are accessed at Window->Show View->Other: QNX System Profiler
18 Summary View The System Profiler Summary View, provides some basic data about the trace, and is the default view rendered Interesting data includes: Pie chart of CPU allocation between Idle User System Interrupts
19 Partition Summary View The Partition View Summary displays basic data about how partitions are being utilized Interesting data includes: Pie chart of CPU allocation by partition Desired and observed CPU for each partition For each process, the total CPU utilization, and total in each partition
20 CPU Activity View CPU Activity View displays an overview of CPU utilization by core over time
21 CPU Usage View CPU Usage View provides CPU utilization per: Thread Core Priority Partition
22 CPU Migration View CPU Migration View displays the number of times a pre-empted thread is rescheduled on a different core than it was pre-empted from
23 Inter CPU Communication View Inter CPU Communication View displays the number of times a receiving thread unblocks to receive a message from a thread on a different core
24 Timeline View Timeline View is the classical System Profiler View; it provides detailed information regarding a threads state and activities over time, and resembles the display of a hardware logic analyzer Trying to scroll to the solution, via the Timeline View will not be productive The Timeline View should be used when the problem has been isolated using the other editor views, panel views or the trace search facility Views useful for isolating faults are: CPU Usage View (editor view) Partition Summary (editor view) Client Server Statistics (panel view) Why Running? (panel view) Condition Statistics (panel view) Thread Call Stack (panel view)
25 Searching Using the trace search facility
26 What is the Trace Search Facility? The Trace Search Facility is one of the most often used features of the System Profiler when analyzing a trace and, as such, deserves its own section The Trace Search Facility is accessed via Search->Search: Trace Search The Trace Search dialog provides the ability to define a combinatorial search condition, for any of the events in the trace (including user defined events) The Trace Search dialog will pre-scan the trace file, and present only events that actually exist in the trace (so you don t waste time searching for something that doesn t exist at all) The Trace Search dialog also allows parametric searches for each individual event
27 Using the Trace Search Dialog As a simple example, we will configure a search that locates all sends that qconn does to proc, and all receives that proc does on messages from qconn First step is to open the Trace Search dialog
28 Using the Trace Search Dialog (cont) Next, let s configure a condition to detect a send from qconn to proc Click Add in the Defined Conditions group, you ll then see the following Give the condition a name (MsgSend sounds good here) Select a communication class event Select a Send Message event code
29 Using the Trace Search Dialog (cont) Next, select just the element within which to search for the condition In this case, that is qconn, since we want to find the send side of the message So first, uncheck the select all elements checkbox, then select qconn from the list of searchable elements Restrict to pid 1 (proc) Uncheck Select qconn
30 Using the Trace Search Dialog (cont) Now click Finish, to close the condition definition dialog
31 Using the Trace Search Dialog (cont) Next, repeat the steps to define a condition, but this time define a condition as follows Name it Choose a kernel call Select MsgReceivev Exit Restrict search to proc Enter the pid of qconn
32 Using the Trace Search Dialog (cont) Now click Finish, to close the condition definition dialog
33 Using the Trace Search Dialog (cont) Next, set an or ( ) conditional between the MsgSend and MsgReceive conditions, when done click Search
34 Using the Trace Search Dialog (cont) You should see something like this in the Timeline and Search Views
35 Utilizing the Search Results in Condition Statistics Now you can utilize these search conditions to configure a Condition Statistics View First bring the Condition Statistics View to the front Next, click on Configure Table Note that in the upper right there is an icon that allows you to restrict the condition statistics to a selectable range
36 Utilizing the Search Results in Condition Statistics (cont) After clicking on Configure Table you should see the following dialog Select both MsgSend and MsgReceive and then click OK
37 Utilizing the Search Results in Condition Statistics (cont) After clicking on OK, a dialog will prompt you to rerun the statistics, click Yes, and then you should see something like this This shows the number of MsgSends (by qconn) and the corresponding number of MsgReceives (by proc) Of course, this is just a trivial example, but the condition statistics (which are really part of searching) are incredibly valuable
38 Case Studies Reviewing some case studies of actual DDTS s
Visual Profiler. User Guide
Visual Profiler User Guide Version 3.0 Document No. 06-RM-1136 Revision: 4.B February 2008 Visual Profiler User Guide Table of contents Table of contents 1 Introduction................................................
More informationCSE 410 Final Exam 6/09/09. Suppose we have a memory and a direct-mapped cache with the following characteristics.
Question 1. (10 points) (Caches) Suppose we have a memory and a direct-mapped cache with the following characteristics. Memory is byte addressable Memory addresses are 16 bits (i.e., the total memory size
More informationEmbedded Resource Manager (ERM)
Embedded Resource Manager (ERM) The Embedded Resource Manager (ERM) feature allows you to monitor internal system resource utilization for specific resources such as the buffer, memory, and CPU ERM monitors
More informationAUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann
AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry
More informationCS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017
CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Outline o Process concept o Process creation o Process states and scheduling o Preemption and context switch o Inter-process communication
More informationCOSC243 Part 2: Operating Systems
COSC243 Part 2: Operating Systems Lecture 16: Threads and data sharing Zhiyi Huang Dept. of Computer Science, University of Otago Zhiyi Huang (Otago) COSC243 Lecture 16 1 / 24 Overview Last lecture: Hierarchical
More informationProcess Time. Steven M. Bellovin January 25,
Multiprogramming Computers don t really run multiple programs simultaneously; it just appears that way Each process runs to completion, but intermixed with other processes Process 1 6 ticks Process 2 Process
More informationNative POSIX Thread Library (NPTL) CSE 506 Don Porter
Native POSIX Thread Library (NPTL) CSE 506 Don Porter Logical Diagram Binary Memory Threads Formats Allocators Today s Lecture Scheduling System Calls threads RCU File System Networking Sync User Kernel
More informationProcesses and Threads
OPERATING SYSTEMS CS3502 Spring 2018 Processes and Threads (Chapter 2) Processes Two important types of dynamic entities in a computer system are processes and threads. Dynamic entities only exist at execution
More informationOperating Systems. Computer Science & Information Technology (CS) Rank under AIR 100
GATE- 2016-17 Postal Correspondence 1 Operating Systems Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key concepts,
More informationCSC 539: Operating Systems Structure and Design. Spring 2006
CSC 539: Operating Systems Structure and Design Spring 2006 Processes and threads process concept process scheduling: state, PCB, process queues, schedulers process operations: create, terminate, wait,
More informationAnnouncement. Exercise #2 will be out today. Due date is next Monday
Announcement Exercise #2 will be out today Due date is next Monday Major OS Developments 2 Evolution of Operating Systems Generations include: Serial Processing Simple Batch Systems Multiprogrammed Batch
More informationAn Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
More informationPerformance analysis basics
Performance analysis basics Christian Iwainsky Iwainsky@rz.rwth-aachen.de 25.3.2010 1 Overview 1. Motivation 2. Performance analysis basics 3. Measurement Techniques 2 Why bother with performance analysis
More informationProcess Management. Deadlock. Process Synchronization. Management Management. Starvation
Process Management Deadlock 7 Cases of Deadlock Conditions for Deadlock Modeling Deadlocks Strategies for Handling Deadlocks Avoidance Detection Recovery Starvation Process Synchronization Deadlock Starvation
More information24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.
24-vm.txt Mon Nov 21 22:13:36 2011 1 Notes on Virtual Machines 15-440, Fall 2011 Carnegie Mellon University Randal E. Bryant References: Tannenbaum, 3.2 Barham, et al., "Xen and the art of virtualization,"
More informationSystem Call. Preview. System Call. System Call. System Call 9/7/2018
Preview Operating System Structure Monolithic Layered System Microkernel Virtual Machine Process Management Process Models Process Creation Process Termination Process State Process Implementation Operating
More informationLecture 4: Memory Management & The Programming Interface
CS 422/522 Design & Implementation of Operating Systems Lecture 4: Memory Management & The Programming Interface Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken
More informationProcess Description and Control. Chapter 3
Process Description and Control 1 Chapter 3 2 Processes Working definition: An instance of a program Processes are among the most important abstractions in an OS all the running software on a computer,
More informationTime Triggered and Event Triggered; Off-line Scheduling
Time Triggered and Event Triggered; Off-line Scheduling Real-Time Architectures -TUe Gerhard Fohler 2004 Mälardalen University, Sweden gerhard.fohler@mdh.se Real-time: TT and ET Gerhard Fohler 2004 1 Activation
More informationVirtual Memory. CSCI 315 Operating Systems Design Department of Computer Science
Virtual Memory CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition of the course text Operating
More informationUtilizing Linux Kernel Components in K42 K42 Team modified October 2001
K42 Team modified October 2001 This paper discusses how K42 uses Linux-kernel components to support a wide range of hardware, a full-featured TCP/IP stack and Linux file-systems. An examination of the
More informationProcesses. OS Structure. OS Structure. Modes of Execution. Typical Functions of an OS Kernel. Non-Kernel OS. COMP755 Advanced Operating Systems
OS Structure Processes COMP755 Advanced Operating Systems An OS has many parts. The Kernel is the core of the OS. It controls the execution of the system. Many OS features run outside of the kernel, such
More informationOperating Systems. Memory Management. Lecture 9 Michael O Boyle
Operating Systems Memory Management Lecture 9 Michael O Boyle 1 Memory Management Background Logical/Virtual Address Space vs Physical Address Space Swapping Contiguous Memory Allocation Segmentation Goals
More informationXen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016
Xen and the Art of Virtualization CSE-291 (Cloud Computing) Fall 2016 Why Virtualization? Share resources among many uses Allow heterogeneity in environments Allow differences in host and guest Provide
More informationCSE398: Network Systems Design
CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 23, 2005 Outline
More informationGrand Central Dispatch
A better way to do multicore. (GCD) is a revolutionary approach to multicore computing. Woven throughout the fabric of Mac OS X version 10.6 Snow Leopard, GCD combines an easy-to-use programming model
More informationCSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable)
CSL373: Lecture 5 Deadlocks (no process runnable) + Scheduling (> 1 process runnable) Past & Present Have looked at two constraints: Mutual exclusion constraint between two events is a requirement that
More informationB. V. Patel Institute of Business Management, Computer &Information Technology, UTU
BCA-3 rd Semester 030010304-Fundamentals Of Operating Systems Unit: 1 Introduction Short Answer Questions : 1. State two ways of process communication. 2. State any two uses of operating system according
More information3.1 Introduction. Computers perform operations concurrently
PROCESS CONCEPTS 1 3.1 Introduction Computers perform operations concurrently For example, compiling a program, sending a file to a printer, rendering a Web page, playing music and receiving e-mail Processes
More informationMessaging Framework Module Guide
Application Note Renesas Synergy Platform R11AN0096EU0102 Rev.1.02 Introduction This module guide will enable you to effectively use a module in your own design. Upon completion of this guide, you will
More informationNightStar. NightView Source Level Debugger. Real-Time Linux Debugging and Analysis Tools BROCHURE
NightStar Real-Time Linux Debugging and Analysis Tools Concurrent s NightStar is a powerful, integrated tool set for debugging and analyzing time-critical Linux applications. NightStar tools run with minimal
More informationOS Structure. Kevin Webb Swarthmore College January 25, Relevant xkcd:
OS Structure Kevin Webb Swarthmore College January 25, 2018 Relevant xkcd: One of the survivors, poking around in the ruins with the point of a spear, uncovers a singed photo of Richard Stallman. They
More informationLabVIEW Basics I: Introduction Course
www.ni.com/training LabVIEW Basics I Page 1 of 4 LabVIEW Basics I: Introduction Course Overview The LabVIEW Basics I course prepares you to develop test and measurement, data acquisition, instrument control,
More information10 MONITORING AND OPTIMIZING
MONITORING AND OPTIMIZING.1 Introduction Objectives.2 Windows XP Task Manager.2.1 Monitor Running Programs.2.2 Monitor Processes.2.3 Monitor System Performance.2.4 Monitor Networking.2.5 Monitor Users.3
More informationChanging the Embedded World TM. Module 3: Getting Started Debugging
Changing the Embedded World TM Module 3: Getting Started Debugging Module Objectives: Section 1: Introduce Debugging Techniques Section 2: PSoC In-Circuit Emulator (ICE) Section 3: Hands on Debugging a
More informationGreen Hills Software, Inc.
Green Hills Software, Inc. A Safe Tasking Approach to Ada95 Jim Gleason Engineering Manager Ada Products 5.0-1 Overview Multiple approaches to safe tasking with Ada95 No Tasking - SPARK Ada95 Restricted
More informationUnderstanding the TOP Server ControlLogix Ethernet Driver
Understanding the TOP Server ControlLogix Ethernet Driver Page 2 of 23 Table of Contents INTRODUCTION 3 UPDATE RATES AND TAG REQUESTS 4 CHANNEL AND DEVICE CONFIGURATION 7 PROTOCOL OPTIONS 9 TAG GENERATION
More informationCSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar Louisiana State University August 27 th, 2009 1 Announcements TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu
More informationAnnouncements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu Announcements All of you should be now in the class mailing
More informationChapter 8: Virtual Memory. Operating System Concepts
Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2009 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating
More informationEmbedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory
Embedded Systems 5. Operating Systems Lothar Thiele Computer Engineering and Networks Laboratory Embedded Operating Systems 5 2 Embedded Operating System (OS) Why an operating system (OS) at all? Same
More informationDebugging Nios II Systems with the SignalTap II Logic Analyzer
Debugging Nios II Systems with the SignalTap II Logic Analyzer May 2007, ver. 1.0 Application Note 446 Introduction As FPGA system designs become more sophisticated and system focused, with increasing
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2015 Lecture 23
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 205 Lecture 23 LAST TIME: VIRTUAL MEMORY! Began to focus on how to virtualize memory! Instead of directly addressing physical memory, introduce a level of
More informationSystem Wide Tracing User Need
System Wide Tracing User Need dominique toupin ericsson com April 2010 About me Developer Tool Manager at Ericsson, helping Ericsson sites to develop better software efficiently Background
More informationFROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS
FROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS Peter Puschner and Raimund Kirner Vienna University of Technology, A-1040 Vienna, Austria {peter, raimund}@vmars.tuwien.ac.at Abstract Keywords:
More informationTask Based Programming Revisited Real Time Operating Systems
ECE3411 Fall 2016 Lecture 6a. Task Based Programming Revisited Real Time Operating Systems Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut
More informationChapter 3: Processes. Operating System Concepts 9 th Edition
Chapter 3: Processes Silberschatz, Galvin and Gagne 2013 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationRTOS 101. Understand your real-time applications. with the help of Percepio Tracealyzer
RTOS 101 Understand your real-time applications with the help of Percepio Tracealyzer RTOS 101 Tasks, Priorities and Analysis Figure 1: Tracealyzer showing RTOS task scheduling and calls to RTOS services.
More informationIn-Field Debugging: Diagnosing Software Problems While Maintaining System Availability
In-Field Debugging: Diagnosing Software Problems While Maintaining System Availability Paul Leroux, Technology Analyst, QNX Software Systems paull@qnx.com Abstract Software bugs that make it to market
More informationHands-on Lab Session 9909 Introduction to Application Performance Management: Monitoring. Timothy Burris, Cloud Adoption & Technical Enablement
Hands-on Lab Session 9909 Introduction to Application Performance Management: Monitoring Timothy Burris, Cloud Adoption & Technical Enablement Copyright IBM Corporation 2017 IBM, the IBM logo and ibm.com
More informationImplementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9
Implementing Scheduling Algorithms Real-Time and Embedded Systems (M) Lecture 9 Lecture Outline Implementing real time systems Key concepts and constraints System architectures: Cyclic executive Microkernel
More informationChapter 3: Processes. Operating System Concepts 8th Edition
Chapter 3: Processes Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication in Client-Server Systems 3.2 Objectives
More informationNew IDE Application Profiler Enhancements
New IDE Application Profiler Enhancements Authored by: Elena Laskavaia The new Application Profiler features are currently under development for the next release of QNX Momentics. Use the forum and provide
More informationIntroduction to the ThreadX Debugger Plugin for the IAR Embedded Workbench C-SPYDebugger
C-SPY plugin Introduction to the ThreadX Debugger Plugin for the IAR Embedded Workbench C-SPYDebugger This document describes the IAR C-SPY Debugger plugin for the ThreadX RTOS. The ThreadX RTOS awareness
More informationScope View provides a number of powerful visual tools to enhance analysis and display.
Scope View Scope View: LabChart 7.1 or later Scope View in LabChart is an alternative way of displaying LabChart data. Together with PowerLab, Scope View in LabChart provides and expands upon the display
More informationHelp Volume Agilent Technologies. All rights reserved. Agilent E2485A Memory Expansion Interface
Help Volume 1994-2002 Agilent Technologies. All rights reserved. Agilent E2485A Memory Expansion Interface Agilent E2485A Memory Expansion Interface The E2485A Memory Expansion Interface lets you use the
More informationOpal. Robert Grimm New York University
Opal Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? The Three Questions What is the problem? Applications
More informationReal-Time Programming
Real-Time Programming Week 7: Real-Time Operating Systems Instructors Tony Montiel & Ken Arnold rtp@hte.com 4/1/2003 Co Montiel 1 Objectives o Introduction to RTOS o Event Driven Systems o Synchronization
More informationOS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation
CSE 421/521 - Operating Systems Fall 2012 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management
More informationò mm_struct represents an address space in kernel ò task represents a thread in the kernel ò A task points to 0 or 1 mm_structs
Last time We went through the high-level theory of scheduling algorithms Scheduling Today: View into how Linux makes its scheduling decisions Don Porter CSE 306 Lecture goals Understand low-level building
More informationOVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3.
OVERVIEW Last Week: Scheduling Algorithms Real-time systems Today: But if frequency of high priority task increases temporarily, system may encounter overload: Yet another real-time scheduling algorithm
More informationQNX Software Development Platform 6.6. Quickstart Guide
QNX Software Development Platform 6.6 QNX Software Development Platform 6.6 Quickstart Guide 2005 2014, QNX Software Systems Limited, a subsidiary of BlackBerry. All rights reserved. QNX Software Systems
More informationScheduling. Don Porter CSE 306
Scheduling Don Porter CSE 306 Last time ò We went through the high-level theory of scheduling algorithms ò Today: View into how Linux makes its scheduling decisions Lecture goals ò Understand low-level
More informationChartView Out-of-the-Box Setup, Acquisition, & Real-Time Display Software
Out-of-the-Box Setup, Acquisition, & Real-Time Display Software ChartView Software Display and record data in minutes, with no programming Display strip charts in real time Make on-screen measurements
More informationLab IP Addresses and Network Communication
Lab 3.5.2 IP Addresses and Network Communication Objectives Build a simple peer-to-peer network and verify physical connectivity. Assign various IP addresses to hosts and observe the effects on network
More informationLPGPU2 Font Renderer App
LPGPU2 Font Renderer App Performance Analysis 2 Introduction As part of LPGPU2 Work Package 3, a font rendering app was developed to research the profiling characteristics of different font rendering algorithms.
More informationToday s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads
Today s Topics COS 318: Operating Systems Implementing Threads u Thread implementation l Non-preemptive versus preemptive threads l Kernel vs. user threads Jaswinder Pal Singh and a Fabulous Course Staff
More informationCHAPTER 3 - PROCESS CONCEPT
CHAPTER 3 - PROCESS CONCEPT 1 OBJECTIVES Introduce a process a program in execution basis of all computation Describe features of processes: scheduling, creation, termination, communication Explore interprocess
More informationVEOS high level design. Revision 2.1 NEC
high level design Revision 2.1 NEC Table of contents About this document What is Components Process management Memory management System call Signal User mode DMA and communication register Feature list
More informationSimplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools
Simplifying the Development and Debug of 8572-Based SMP Embedded Systems Wind River Workbench Development Tools Agenda Introducing multicore systems Debugging challenges of multicore systems Development
More information10/17/ Gribble, Lazowska, Levy, Zahorjan 2. 10/17/ Gribble, Lazowska, Levy, Zahorjan 4
Temporal relations CSE 451: Operating Systems Autumn 2010 Module 7 Synchronization Instructions executed by a single thread are totally ordered A < B < C < Absent synchronization, instructions executed
More informationApplication debugging USB Bus utilization graph
Enabling Global Connectivity Computer Access Technology Corporation Tel: (408) 727-6600, Fax: (408) 727-6622 www.catc.com Application debugging USB Bus utilization graph Application Note Introduction The
More informationYou have a PC with a USB interface, running Microsoft Windows XP (SP2 or greater) or Vista You have the Workshop Installation Software Flash Drive
03- COMPOSER STUDIO Stellaris Development and Evaluation Kits for Code Composer Studio The Stellaris Development and Evaluation Kits provide a low-cost way to start designing with Stellaris microcontrollers
More informationSignals, Synchronization. CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han
, Synchronization CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han Announcements Program Assignment #1 due Tuesday Feb. 15 at 11:55 pm TA will explain parts b-d in recitation Read chapters 7 and
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 23
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 208 Lecture 23 LAST TIME: VIRTUAL MEMORY Began to focus on how to virtualize memory Instead of directly addressing physical memory, introduce a level of indirection
More informationAccelerated Library Framework for Hybrid-x86
Software Development Kit for Multicore Acceleration Version 3.0 Accelerated Library Framework for Hybrid-x86 Programmer s Guide and API Reference Version 1.0 DRAFT SC33-8406-00 Software Development Kit
More informationArachne. Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout
Arachne Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout Granular Computing Platform Zaharia Winstein Levis Applications Kozyrakis Cluster Scheduling Ousterhout Low-Latency RPC
More informationfile://c:\documents and Settings\degrysep\Local Settings\Temp\~hh607E.htm
Page 1 of 18 Trace Tutorial Overview The objective of this tutorial is to acquaint you with the basic use of the Trace System software. The Trace System software includes the following: The Trace Control
More informationCOMP I/O, interrupts, exceptions April 3, 2016
In this lecture, I will elaborate on some of the details of the past few weeks, and attempt to pull some threads together. System Bus and Memory (cache, RAM, HDD) We first return to an topic we discussed
More informationIn examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured
System Performance Analysis Introduction Performance Means many things to many people Important in any design Critical in real time systems 1 ns can mean the difference between system Doing job expected
More informationProcesses and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus Threads Processes Processes Kernel An aside on concurrency Timing and sequence of events are key concurrency issues We will study classical OS concurrency
More informationThe QuickCalc BASIC User Interface
The QuickCalc BASIC User Interface Running programs in the Windows Graphic User Interface (GUI) mode. The GUI mode is far superior to running in the CONSOLE mode. The most-used functions are on buttons,
More informationVirtual Memory. Virtual Memory. Demand Paging. valid-invalid bit. Virtual Memory Larger than Physical Memory
Virtual Memory Virtual Memory CSCI Operating Systems Design Department of Computer Science Virtual memory separation of user logical memory from physical memory. Only part of the program needs to be in
More informationSteelCentral Packet Analyser Walkthrough
SteelCentral Packet Analyser Walkthrough The aim of this demo is to show how to perform simple analysis of packets using the SteelCentral Packet Analyser in conjunction with NetShark. We will talk through
More informationDebugging with System Analyzer. Todd Mullanix TI-RTOS Apps Manager Oct. 15, 2017
Debugging with System Analyzer Todd Mullanix TI-RTOS Apps Manager Oct. 15, 2017 Abstract In software engineering, tracing involves a specialized use of logging to record information about a program's execution.
More informationParallel Debugging. ª Objective. ª Contents. ª Learn the basics of debugging parallel programs
ª Objective ª Learn the basics of debugging parallel programs ª Contents ª Launching a debug session ª The Parallel Debug Perspective ª Controlling sets of processes ª Controlling individual processes
More informationUsing the MPU with an RTOS to Enhance System Safety and Security
Using the MPU with an RTOS to Enhance System Safety and Security By Stephen Ridley 10 December, 2016 www.highintegritysystems.com WITTENSTEIN WITTENSTEIN high integrity systems: A World Leading RTOS Ecosystem
More informationIntroduction. If communication is lost, the following message may appear:
MP160 COMMUNICATION 42 Aero Camino, Goleta, CA 93117 Tel (805) 685-0066 Fax (805) 685-0067 info@biopac.com www.biopac.com Introduction 06.27.2016 This document provides background information and troubleshooting
More informationPage Replacement. 3/9/07 CSE 30341: Operating Systems Principles
Page Replacement page 1 Page Replacement Algorithms Want lowest page-fault rate Evaluate algorithm by running it on a particular string of memory references (reference string) and computing the number
More informationOS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure
CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates
More informationSubject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering)
A. Multiple Choice Questions (60 questions) Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering) Unit-I 1. What is operating system? a) collection of programs that manages hardware
More informationProcess Scheduling Queues
Process Control Process Scheduling Queues Job queue set of all processes in the system. Ready queue set of all processes residing in main memory, ready and waiting to execute. Device queues set of processes
More informationProcesses & Threads. Recap of the Last Class. Microkernel System Architecture. Layered Structure
Recap of the Last Class Processes & Threads CS 256/456 Dept. of Computer Science, University of Rochester Hardware protection kernel and user mode System components process management, memory management,
More informationOperating Systems (2INC0) 2017/18
Operating Systems (2INC0) 2017/18 Memory Management (09) Dr. Courtesy of Dr. I. Radovanovic, Dr. R. Mak (figures from Bic & Shaw) System Architecture and Networking Group Agenda Reminder: OS & resources
More informationPROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18
PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations
More informationProcesses and Threads
COS 318: Operating Systems Processes and Threads Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318 Today s Topics u Concurrency
More informationVirtual Memory. CSCI 315 Operating Systems Design Department of Computer Science
Virtual Memory CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture were based on those Operating Systems Concepts, 9th ed., by Silberschatz, Galvin, and
More informationChapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads
Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Objectives To introduce the notion of a
More informationCS 136: Advanced Architecture. Review of Caches
1 / 30 CS 136: Advanced Architecture Review of Caches 2 / 30 Why Caches? Introduction Basic goal: Size of cheapest memory... At speed of most expensive Locality makes it work Temporal locality: If you
More information