Device Driver Presented By: Syed Zulfiqar Ali Qurat Ul Ain Aslam

Slides:



Advertisements
Similar presentations
An Overview Of Virtual Machine Architectures Ross Rosemark.
Advertisements

Chapter 2 How Hardware and Software Work Together.
Operating System Structures
Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.
EEE 435 Principles of Operating Systems Operating System Concepts (Modern Operating Systems 1.5)
Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
3: OS Structures 1 OPERATING SYSTEM STRUCTURES PROCESS MANAGEMENT A process is a program in execution: (A program is passive, a process active.) A process.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
2: OS Structures 1 Jerry Breecher OPERATING SYSTEMS STRUCTURES.
1 CMOS Configuration Chip. 1 Jumpers 1 Software n The intelligence of the computer n Computer programs, or instructions to perform a specific task n.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Operating Systems.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Systems Software Operating Systems.
Types of software. Sonam Dema..
An Introduction to Operating Systems. Definition  An Operating System, or OS, is low-level software that enables a user and higher-level application.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Windows Server 2008 R2 CSIT 320 (Blum) 1. Server Consolidation – Today’s chips have enhanced capabilities compared to those of the past. In particular.
E Virtual Machines Lecture 4 Device Virtualization
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
Programming mobile devices Part II Programming Symbian devices with Symbian C++
Lesson 4 Computer Software
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Computer Organization
How Hardware and Software Work Together
Virtualization. ABCs Special software: hypervisors or virtual machine managers Guest OS (virtual machine) sits on top of host OS (Win 7 in our case) We.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Device Drivers.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
How Hardware and Software Work Together
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
VirtualBox What you need to know to build a Virtual Machine.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: Operating-System Structures.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
COP 4610 Introduction to Operating Systems. Chapter 1 - Introduction OS - Layer between the hardware and user programs (Figure 1.1) OS - The ultimate.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
CSC414 “Introduction to UNIX/ Linux” Lecture 2. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
Copyright © Curt Hill Operating Systems An Introductory Overview.
Virtual Machines Mr. Monil Adhikari. Agenda Introduction Classes of Virtual Machines System Virtual Machines Process Virtual Machines.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Microsoft Window 9X Operating System Richard Goldman © February 28, 2001.
GCSE Computing: A451 Computer Systems & Programming Topic 3 Software System Software (1) The Operating System.
System Software (1) The Operating System
OPERATING SYSTEMS DO YOU REQUIRE AN OPERATING SYSTEM IN YOUR SYSTEM?
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Virtualization Neependra Khare
Introduction to Operating Systems Concepts
Computer System Structures
Topic 2: Hardware and Software
An Introduction to Operating Systems
Chapter Objectives In this chapter, you will learn:
Operating System Structure
What is an Operating System?
OS Virtualization.
Chapter 15, Exploring the Digital Domain
Introduction to Virtual Machines
Outline Operating System Organization Operating System Examples
Introduction to Virtual Machines
Operating Systems Structure
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

Device Driver Presented By: Syed Zulfiqar Ali Qurat Ul Ain Aslam Samina Kanwal Sana Zahid Presented To: Miss Madiha Zafar

What is a device driver? A device driver is a system program or application that controls a particular type of device that is connected to your computer. A device driver or software driver is a computer program, application allowing higher-level computer programs to interact with a hardware device. A device driver essentially converts the more generic input/output instructions of your operating system to message that the device type can understand and interpret.

Continue…

Why a device driver ? A device driver simplifies programming by acting as an abstraction layer between a hardware device and the applications or operating systems that use it The higher-level application code can be written independently of whatever specific hardware device it will ultimately control, as it can interface with it in a standard way, regardless of the underlying hardware. The device-driver accepts the generic high-level commands and breaks them into a series of low-level device-specific commands as required by the device being driven.

Why a device driver ? .. [contd.] Device Drivers can provide a level of security as they can run in kernel- mode, thereby protecting the operating system from applications running in user-mode. Ring 0 Kernel Ring 1 Ring 2 Ring 3 Device Drivers Applications Lest Privileged Most Privileged Privilege rings available

Does every hardware or a device connected to pc requires device driver? No when you buy an operating system many device drivers are built in into operating system itself. however 3-6 months down the line if you attach a device which your operating system doesnot understand then device driver is required

How does a driver communicates with hardware? A device driver typically communicates with the device through the computer bus or communications subsystem to which the hardware is connected

Physical layers communicate with specific device instances Device Driver design Logical Layer Logical layers process data for a class of devices such as ethernet ports or disk drives A serial port needs to handle standard communication protocols such as XON/XOFF . This is managed by a serial port logical layer. Physical Layer Physical layers communicate with specific device instances The logical layer needs to communicate with a particular serial port chip, the physical layer addresses this.

Device Driver Design …[Contd.] OS Logical layer Physical layer Hardware request

Development Writing a device driver requires an in-depth understanding of how the hardware and the software works for a given platform function. Because drivers require low-level access to hardware functions in order to operate, drivers typically operate in a highly privileged environment and can cause disaster if they get things wrong. In contrast, most user-level software on modern operating systems can be stopped without greatly affecting the rest of the system. Even drivers executing in user mode can crash a system if the device is erroneously programmed. These factors make it more difficult and dangerous to diagnose problems.

Kernel mode vs. user mode Device drivers, particularly on modern Microsoft Windows platforms, can run in kernel-mode (Ring 0 on x86 CPUs) or in user-mode (Ring 3 on x86 CPUs). The primary benefit of running a driver in user mode is improved stability, since a poorly written user mode device driver cannot crash the system by overwriting kernel memory.

How Drivers are accessed ? System initialization System calls from user processes User-level requests Device interrupts Bus reset

Application Because of the diversity of modern hardware and operating systems, drivers operate in many different environments.Drivers may interface with: printers video adapters Network cards Sound cards Local buses of various sorts—in particular, for bus mastering on modern systems Low-bandwidth I/O buses of various sorts (for pointing devices such as mice, keyboards, USB, etc.) Computer storage devices such as hard disk, CD-ROM, and floppy disk buses (ATA, SATA, SCSI) Implementing support for different file systems Image scanners Digital cameras

Common levels of abstraction for device drivers include For hardware: Interfacing directly Writing to or reading from a device control register Using some higher-level interface (e.g. Video BIOS) Using another lower-level device driver (e.g. file system drivers using disk drivers) Simulating work with hardware, while doing something entirely different For software: Allowing the operating system direct access to hardware resources Implementing only primitives Implementing an interface for non-driver software (e.g., TWAIN) Implementing a language, sometimes quite high-level (e.g., PostScript)

Are there any types in device driver? Yes there are two types A: Open Driver file usually has a file name suffix of dll or exe B: A virtual device driver with suffix VXD.

Virtual Device Drivers Virtual device drivers represent a particular variant of device drivers. They are used to emulate a hardware device, particularly in virtualization environments, for example when a DOS program is run on a Microsoft Windows computer or when a guest operating system is run on, for example,linux iis running virtually under windows. Instead of enabling the guest operating system to dialog with hardware, virtual device drivers take the opposite role and emulate a piece of hardware, so that the guest operating system and its drivers running inside a virtual machine can have the illusion of accessing real hardware. There are several variants of virtual device drivers, such as VxDs, VLMs, VDDs.

Device Drivers List Installed On A System…

Sound Driver Detail And Files Detail…

Questions???

That’s All…

Can You Imagine What I Would Do If I Could Do All I Can???