UDI, a Uniform Driver Interface By Project UDI Kevin Quick, Interphase, Chairman Mark Evenson, HP, Vice-Chairman Kurt Gollhardt, SCO, Editor.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computer Systems/Operating Systems - Class 8
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
Figure 1.1 Interaction between applications and the operating system.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Dolphin software SCI Software Replace in Title/Slide Master with Company Logo or delete Hugo Kohmann Dolphin Interconnect Solutions.
1 I/O Management in Representative Operating Systems.
JAVAPOSTM Java for POS Devices
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Development of an API Standard in Interoperable Storage Networking Benjamin F. Kuo Troika Networks, Inc.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
TM Freescale, the Freescale logo, AltiVec, C-5, CodeTest, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of.
I/O Systems ◦ Operating Systems ◦ CS550. Note:  Based on Operating Systems Concepts by Silberschatz, Galvin, and Gagne  Strongly recommended to read.
May 17, USB2.0 Host Controller John S. Howard Staff Engineer Intel Architecture Labs Intel Corporation.
Introduction to UDI Kurt Gollhardt SCO Core OS Architect
1 Input/Output. 2 Principles of I/O Hardware Some typical device, network, and data base rates.
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
Module 10 Configuring and Managing Storage Technologies.
UDI, a Uniform Driver Interface Architecture Overview Kurt Gollhardt (Chair, Project UDI) November 2010.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 2: Managing Hardware Devices.
*All other brands and names are the property of their respective owners. Slide 1 ® UDIG Driver Test Suite Rob Mills Barry Feild
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
NETW 3005 I/O Systems. Reading For this lecture, you should have read Chapter 13 (Sections 1-4, 7). NETW3005 (Operating Systems) Lecture 10 - I/O Systems2.
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
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.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
2007 Oct 18SYSC2001* - Dept. Systems and Computer Engineering, Carleton University Fall SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices.
Firmware Storage : Technical Overview Copyright © Intel Corporation Intel Corporation Software and Services Group.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
2009 Sep 10SYSC Dept. Systems and Computer Engineering, Carleton University F09. SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices 7.2.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
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.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
TMS320 DSP Algorithm Standard: Overview & Rationalization.
UDI Tutorial & Driver Walk-Through Part 1 Kurt Gollhardt SCO Core OS Architect
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)
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Enhanced Storage Architecture
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
UDI HDK Roadmap Matt Kaufman Senior Software Engineer
Online Software 8-July-98 Commissioning Working Group DØ Workshop S. Fuess Objective: Define for you, the customers of the Online system, the products.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
12/8/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Roy Campbell, Sam King,
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Intel Open Source Technology Center Lu Baolu 2015/09
Advanced Operating Systems - Spring 2009 Lecture 18 – March 25, 2009 Dan C. Marinescu Office: HEC 439 B. Office hours:
UDI Advanced Topics DMA and Interrupts Robert Lipe UDI Development Team Lead
WHQL Code Coverage Prototype Program Andy Wen. 2 Agenda What is Code Coverage Prototype Program? What is Code Coverage Prototype Program? A prototype.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 13: I/O Systems Overview I/O Hardware Application.
*All other brands and names are the property of their respective owners. Slide 1 ® UDIG Driver Test Suite Gian-Carlo Bava Barry Feild.
UDI Technology Benefits Slide 1 Uniform Driver Interface UDI Technology Benefits.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
UDI Network Drivers Network Interface Metalanguage Barry Feild SCO Server Products Group
UDI Architecture In-Depth Robert Lipe UDI Development Team Lead
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
CS703 - Advanced Operating Systems
Threads, SMP, and Microkernels
Overview of Computer Architecture and Organization
Lecture 4- Threads, SMP, and Microkernels
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

UDI, a Uniform Driver Interface By Project UDI Kevin Quick, Interphase, Chairman Mark Evenson, HP, Vice-Chairman Kurt Gollhardt, SCO, Editor

UDI, a Uniform Driver Interface Slide 2 *All other brands and names are the property of their respective owners. Agenda What and who are Project UDI? Why portable drivers? What will UDI do for me? UDI Architectural Overview Related Activities Status and Futures Q & A

UDI, a Uniform Driver Interface Slide 3 *All other brands and names are the property of their respective owners. What is UDI? UDI is a specification designed to address the Divergence, Inconsistencies, Deficiencies of current Device Driver implementations and environments.

UDI, a Uniform Driver Interface Slide 4 *All other brands and names are the property of their respective owners. Who Is Project UDI? Open industry group Multiple platform and operating system vendors Including Compaq*, HP*, IBM*, Intel*, SCO*, Sun* Multiple IHVs Including Adaptec*, Bit3*, Interphase* Integrators and solutions providers Including Lockheed-Martin* Broad reflector community

UDI, a Uniform Driver Interface Slide 5 *All other brands and names are the property of their respective owners. Project UDI Goals Design and Promote standard driver interfaces –Portability plus advanced features Publish UDI Specifications –Defines binary and source packaging as well as driver programming interfaces Produce reference implementations –Sample drivers and OS implementations »including Linux*, UnixWare*, HP-UX*, Digital UNIX* –Validates specification and eases porting effort –Jointly developed by Project UDI participants

UDI, a Uniform Driver Interface Slide 6 *All other brands and names are the property of their respective owners. Agenda What and who are Project UDI? Why portable drivers? What will UDI do for me? UDI Architectural Overview Related Activities Status and Futures Q & A

UDI, a Uniform Driver Interface Slide 7 *All other brands and names are the property of their respective owners. The “Driver Problem” (IHV Perspective) IHVs have huge matrix of drivers to develop/port –# Devices  OSes  OS versions  platforms  features Finite development and support resources –Must choose porting order (target prioritization) –Some OSes and/or platforms not supported Driver porting not directly related to core business –Technology, Performance, Functionality

UDI, a Uniform Driver Interface Slide 8 *All other brands and names are the property of their respective owners. The “Driver Problem” (Platform and OS Vendor Perspective) Platform and OS vendors need IHV device support –Need broad device technology coverage to compete –Limited internal resources for driver development –Must leverage IHV partners –Competitive advantage lost if too far down porting order Driver porting not directly related to core business –Features and services –Enabling applications –Reliability, Availability, Scalability

UDI, a Uniform Driver Interface Slide 9 *All other brands and names are the property of their respective owners. The “Driver Problem” ( Independent Timelines) OS and platform evolution not under IHV control IHV device evolution not under OSV control Independent development Requires stable, well-defined interfaces

UDI, a Uniform Driver Interface Slide 10 *All other brands and names are the property of their respective owners. The UDI Solution The Uniform Driver Interface enables 100% portability –UDI Specification defines all driver interfaces –Abstracts H/W and S/W environment –Not specific to any group of OSes One driver source for all UDI-compliant OSes Co-exists with legacy driver environments

UDI, a Uniform Driver Interface Slide 11 *All other brands and names are the property of their respective owners. Key to Portability No OS or platform specific components in driver No OS policy in driver All interfaces defined Room to grow –OS implementation flexibility w/o changing interfaces –Support for field-installable extensions »Can be supplied by third parties

UDI, a Uniform Driver Interface Slide 12 *All other brands and names are the property of their respective owners. Agenda What and who are Project UDI? Why portable drivers? What will UDI do for me? UDI Architectural Overview Related Activities Status and Futures Q & A

UDI, a Uniform Driver Interface Slide 13 *All other brands and names are the property of their respective owners. UDI IHV Benefits Portable drivers across platforms & operating systems (no changes to driver source) –Single, fully specified, cohesive interface specification Simpler drivers More time/resources for core business –I/O technology innovation and implementation –Performance & functionality enhancements

UDI, a Uniform Driver Interface Slide 14 *All other brands and names are the property of their respective owners. UDI System Vendor Benefits Increased device & I/O technology coverage –Leverage drivers developed for other platforms –Amortized IHV support costs UDI environment implementation flexibility –High-reliability environments –Validation environment –Performance environment More time/resources for core business

UDI, a Uniform Driver Interface Slide 15 *All other brands and names are the property of their respective owners. UDI: Next-Generation Technology Single model for all device types –“Mixed-model” FibreChannel*, USB*, etc. Instance independence –Hot plug/hot swap adapters and devices Location independence –Distributed environments and I/O processors –No overhead for “local” case Implicit MP synchronization –no lock primitives

UDI, a Uniform Driver Interface Slide 16 *All other brands and names are the property of their respective owners. UDI as Technology Enabler UDI simplifies support for: –Future platforms (e.g. IA64*, NGIO*) –Mixed-endian platforms and arbitrary bus hierarchies –Multi-path I/O –User-mode drivers, advanced driver debugging tools, and validation environments

UDI, a Uniform Driver Interface Slide 17 *All other brands and names are the property of their respective owners. Agenda What and who are Project UDI? Why portable drivers? What will UDI do for me? UDI Architectural Overview Related Activities Status and Futures Q & A

UDI, a Uniform Driver Interface Slide 18 *All other brands and names are the property of their respective owners. The UDI Technology Complete driver encapsulation Single model for all device types –Extensible to new device types Instance independence Non-blocking execution model Implicit MP synchronization via “regions” Inter-module communication via “channels” Explicit resource ownership and transfer

UDI, a Uniform Driver Interface Slide 19 *All other brands and names are the property of their respective owners. UDI Fully Encapsulates Drivers UDI Drivers Physical I/O Abstraction System Services: Configuration Resource Allocation Inter-Module Communication Tracing & Logging Error Handling Time Management Buffer Management Operating System UDI Environment Application Programs CPU and I/O Hardware (PIO, DMA, Interrupts) I/O Requests UDI Metalanguages

UDI, a Uniform Driver Interface Slide 20 *All other brands and names are the property of their respective owners. UDI System Services System interface & resource management –Implemented for all UDI environments –Provides services typically associated with the OS Non-blocking allocation model –Callbacks used wherever allocation might occur –Control blocks provide synchronization and context management

UDI, a Uniform Driver Interface Slide 21 *All other brands and names are the property of their respective owners. UDI Regions Basic unit for execution and scheduling –Non-blocking with implicit synchronization »Each call into the driver region is serialized »“Pseudo-threads” interleaved between callbacks –No direct data sharing between regions »You have to go through channels One or more driver regions per device instance –Each region may operate in a different domain »e.g. address space, CPU group, network node –Region attributes (e.g. priority) specified at build time

UDI, a Uniform Driver Interface Slide 22 *All other brands and names are the property of their respective owners. UDI Channels Used for Inter-Module Communication (IMC) Control blocks sent over channels Strongly typed function-call interface Bi-directional

UDI, a Uniform Driver Interface Slide 23 *All other brands and names are the property of their respective owners. interface ops vector UDI Channel Communications Module A’s Region channel context interface ops vector channel handle communication channel channel endpoints Module B’s Region channel context channel handle

UDI, a Uniform Driver Interface Slide 24 *All other brands and names are the property of their respective owners. UDI Metalanguages Device-type specific communication Defines communication paradigm between cooperating modules –Number and type of channels –Interface operation types on each channel –Operations and sequences to implement technology-specific functionality Analogous to SCSI CAM, DLPI, etc.

UDI, a Uniform Driver Interface Slide 25 *All other brands and names are the property of their respective owners. Embedding OS UDI Environment Path From Application to UDI Driver OS-to-UDI External Mapper I/O Subsystem Application UDI Driver Physical I/O Adapter or System Hardware OS Requests Native Driver Interface UDI Interface Operations Interrupts UDI Services Hardware Access

UDI, a Uniform Driver Interface Slide 26 *All other brands and names are the property of their respective owners. Example Driver Hierarchy Monitor External Mapper Keyboard External Mapper Monitor Driver Instance Keyboard Driver Instance Disk Driver Instance Disk Driver Instance Tape Driver Instance Base I/O Adapter Driver Instance Disk External Mapper Tape External Mapper SCSI Adapter Driver Instance I/O Bus Adapter Driver Instance PROCESSOR-MEMORY INTERCONNECT I/O Bus Adapter Base I/O AdapterSCSI Adapter MonitorKeyboardDisk Tape UDI Environment Embedding OS I/O SOFTWARE I/O HARDWARE Child Parent

UDI, a Uniform Driver Interface Slide 27 *All other brands and names are the property of their respective owners. UDI Specifications Core Basic data types Execution model Communication (IMC) Configuration Memory management Buffer management Time management Tracing and logging Distribution format Physical I/O DMA and PIO Interrupt handling Bus bridges Metalanguages SCSI Networking Pointer Other Bus Bindings PCI VME Etc. ABI Bindings Binary representation

UDI, a Uniform Driver Interface Slide 28 *All other brands and names are the property of their respective owners. Agenda What and who are Project UDI? Why portable drivers? What will UDI do for me? UDI Architectural Overview Related Activities Status and Futures Q & A

UDI, a Uniform Driver Interface Slide 29 *All other brands and names are the property of their respective owners. Related Activities USB drivers –Project UDI and USB Device Working Group developing UDI-based OpenUSBDI specification (USB driver interface) Developing a UDI Metalanguage to support the I 2 O* messaging protocol SCI Metalanguage in progress Various UDI environments and UDI device driver products being implemented

UDI, a Uniform Driver Interface Slide 30 *All other brands and names are the property of their respective owners. Host OS UDI Environment Example UDI & I 2 O Combination OS-to-UDI External Mapper Application UDI Driver (OSM) I 2 O Mapper I 2 O Hardware System Bus Hardware I 2 O Mapper UDI Environment UDI Driver (HDM) I2O Messages

UDI, a Uniform Driver Interface Slide 31 *All other brands and names are the property of their respective owners. Agenda What and who are Project UDI? Why portable drivers? What will UDI do for me? UDI Architectural Overview Related Activities Status and Futures Q & A

UDI, a Uniform Driver Interface Slide 32 *All other brands and names are the property of their respective owners. UDI Documents Normative –UDI Core Specification –UDI Physical I/O Specification –UDI SCSI Driver Specification –UDI Network Driver Specifications –UDI Metalanguage Library Specification Informative –UDI Technical Overview/White Paper –UDI Marketing Information –UDI Implementation Guides

UDI, a Uniform Driver Interface Slide 33 *All other brands and names are the property of their respective owners. Specification Schedule Revision 0.90 Finalized –Functional Freeze –Begin broad public review »Project UDI needs YOU! –Downloadable from UDI web page in early March Revision 1.0 scheduled for June –Incorporates comments from public review

UDI, a Uniform Driver Interface Slide 34 *All other brands and names are the property of their respective owners. UDI In Action Prototype completed 12/9/97

UDI, a Uniform Driver Interface Slide 35 *All other brands and names are the property of their respective owners. Reference Implementation Linux * reference port being developed by Intel * –Currently running in the lab –Rebase to 0.90 in progress 1.0 reference source to be released publicly –Expected release in early Q2’99 –Check UDI web site in Q2 for detail on obtaining a copy

UDI, a Uniform Driver Interface Slide 36 *All other brands and names are the property of their respective owners. UDI Information Web page Project UDI contacts Chair: Kevin Quick, , Vice Chair: Mark Evenson, , Secretary: John Lee, , Editor: Kurt Gollhardt, , Advisor: Mark Bradley, ,

UDI, a Uniform Driver Interface Slide 37 *All other brands and names are the property of their respective owners. Agenda What and who are Project UDI? Why portable drivers? What will UDI do for me? UDI Architectural Overview Related Activities Status and Futures Q & A