UDI Technology Benefits Slide 1 Uniform Driver Interface UDI Technology Benefits.

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

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.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Chapter 7 Protocol Software On A Conventional Processor.
6/9/2015B.Ramamurthy1 Process Description and Control B.Ramamurthy.
Process Description and Control
The Process Model.
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
Page 1 Processes and Threads Chapter Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling.
Introduction to Kernel
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
3.5 Interprocess Communication
Figure 1.1 Interaction between applications and the operating system.
1 Chapter 4 Threads Threads: Resource ownership and execution.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
1 I/O Management in Representative Operating Systems.
1 MPI-2 and Threads. 2 What are Threads? l Executing program (process) is defined by »Address space »Program Counter l Threads are multiple program counters.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Process Description and Control. Process concepts n Definitions – replaces task, job – program in execution – entity that can be assigned to and executed.
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Chapter 41 Processes Chapter 4. 2 Processes  Multiprogramming operating systems are built around the concept of process (also called task).  A process.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
UDI Tutorial & Driver Walk-Through Part 1 Kurt Gollhardt SCO Core OS Architect
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
Processes and Process Control 1. Processes and Process Control 2. Definitions of a Process 3. Systems state vs. Process State 4. A 2 State Process Model.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Introduction to Operating Systems and Concurrency.
Chapter 4: Multithreaded Programming. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts What is Thread “Thread is a part of a program.
Department of Computer Science and Software Engineering
12/22/ Thread Model for Realizing Concurrency B. Ramamurthy.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Processes and Threads.
UDI Advanced Topics DMA and Interrupts Robert Lipe UDI Development Team Lead
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Tim Hamilton.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Threads-Process Interaction. CONTENTS  Threads  Process interaction.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
What is a Process ? A program in execution.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
I/O Software CS 537 – Introduction to Operating Systems.
UDI Architecture In-Depth Robert Lipe UDI Development Team Lead
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Introduction to Operating Systems Concepts
Chapter 4 – Thread Concepts
Introduction to Kernel
Processes and threads.
Chapter 4 – Thread Concepts
CS490 Windows Internals Quiz 2 09/27/2013.
Threads and Cooperation
Chapter 4: Threads.
Process Description and Control
Process Description and Control
Lecture 4- Threads, SMP, and Microkernels
Threads Chapter 4.
Process Description and Control
CHAPTER 4:THreads Bashair Al-harthi OPERATING SYSTEM
Process Description and Control
Process Description and Control
Process Description and Control
Process Description and Control
Chapter 2 Processes and Threads 2.1 Processes 2.2 Threads
Process Description and Control
Presentation transcript:

UDI Technology Benefits Slide 1 Uniform Driver Interface UDI Technology Benefits

Slide 2 Uniform Driver Interface Introduction UDI design goals –Cross-OS portability –High performance and scalability OS-neutrality benefits beyond portability Technology benefits even for single OS

UDI Technology Benefits Slide 3 Uniform Driver Interface OS-Neutrality Precise separation between device semantics and OS semantics Flexibility to evolve OS without re-basing drivers Implementation flexibility allows OS value-add

UDI Technology Benefits Slide 4 Uniform Driver Interface Benefits of UDI Driver Model Direct context pointer on entry Automatic endian conversions Scatter/gather lists built by OS Implicit synchronization Non-blocking execution model Dynamic configuration (hot plug) Location independence Tracing & logging

UDI Technology Benefits Slide 5 Uniform Driver Interface Direct Context Pointer on Entry Each entry point is passed a context pointer (void *) Context pointer previously set by driver Allows direct access to per-instance or per-request data structures Simpler and faster

UDI Technology Benefits Slide 6 Uniform Driver Interface Automatic Endian Conversions Driver knows the endianness of its device but not of intervening hardware Some systems have hardware byte swap Driver simply specifies device endianness Environment byte swaps if necessary No overhead in non-swap case

UDI Technology Benefits Slide 7 Uniform Driver Interface Scatter/gather Lists Built by OS Scatter/gather list specifies array of bus address, length pairs for DMA engine to locate data DMA drivers receive scatter/gather lists pre-built according to their needs Compatible with IEEE Many drivers will just pass address of list to their device

UDI Technology Benefits Slide 8 Uniform Driver Interface Implicit Synchronization No MP locking primitives or interrupt masking in driver code However, region model allows driver instances to be fully parallelized and preemptable Default granularity is per device Optional fine-grained parallelism by spawning additional regions

UDI Technology Benefits Slide 9 Uniform Driver Interface Non-blocking Execution Model Environment service calls use completion callbacks rather than blocking Optimized for immediate callbacks Gives OS fine control over scheduling driver activity and resources Keeps driver execution model simple Requires less memory when waiting for resources (no thread stacks)

UDI Technology Benefits Slide 10 Uniform Driver Interface Dynamic Configuration (Hot Plug) Instance independence allows new devices to be bound to drivers at any time Full hot-plug support through device management entry point –Suspend, Resume –Replace, Remove Also supports power management

UDI Technology Benefits Slide 11 Uniform Driver Interface Location Independence UDI environments can support a wide range of architectural models UDI drivers can be run in user mode or kernel mode UDI drivers can be run in global or private address spaces UDI drivers can run on host CPUs or I/O processors

UDI Technology Benefits Slide 12 Uniform Driver Interface Tracing & Logging Central error logging –Error correlation allows errors to be tied to root cause Dynamic run-time tracing –Informational logging –Individual message categories can be turned on and off at any time

UDI Technology Benefits Slide 13 Uniform Driver Interface Conclusion UDI is not just for portability Advanced technology allows driver simplicity and OS flexibility Portability doesn’t have to mean lower performance