Device Drivers.

Slides:



Advertisements
Similar presentations
Computer Parts There are many parts that work together to make a computer work.
Advertisements

Device Drivers.
Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 2: Managing Hardware Devices.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 2: Managing Hardware Devices.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Device Driver Presented By: Syed Zulfiqar Ali Qurat Ul Ain Aslam
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.
Installing software on personal computer
LECTURE 14 Operating Systems and Utility Programs
Computer Basics Flashcards #2
An Introduction to Operating Systems. Definition  An Operating System, or OS, is low-level software that enables a user and higher-level application.
Windows Server 2008 R2 CSIT 320 (Blum) 1. Server Consolidation – Today’s chips have enhanced capabilities compared to those of the past. In particular.
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?
Ch 11 Managing System Reliability and Availability 1.
Lesson 4 Computer Software
Types of Computers Desktop / Laptop PC / Mac Client / Server.
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.
Basic Input Output System
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 2: Managing Hardware Devices.
Chapter 1 Computer Basics. What is a Computer? Functional definitions (45%) Humorous definitions (5%) Academic definitions (45%) Other (5%)
Ch Review1 Review Chapter Microcomputer Systems Hardware, Software, and the Operating System.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Translate the following message:
University of Management & Technology 1 Operating Systems & Utility Programs.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Input and output (IO) systems Last week we considered the memory management layer of the operating system. This week we will look at another layer of the.
Section 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.
The Guts. CPU CPU Socket The CPU is generally a 2 inch ceramic square with a silicon chip located inside. The chip usually about the size of a thumbnail.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
There are many parts that work together to make a computer work. System Unit Computer Parts.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
1 THE COMPUTER. 2 Input Processing Output Storage 4 basic functions.
IT1001 – Personal Computer Hardware & System Operations Week5- Installation and configuration of driver software.
Click once to reveal the definition. Think of the answer. Then click to see if you were correct. HARDWARE Physical parts of the computer.
CSC414 “Introduction to UNIX/ Linux” Lecture 2. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
Computer main parts HARDWARE It corresponds to all physical and tangible parts of a computer: your electrical, electronic, electromechanical and mechanical.
CSC190 Introduction to Computing Operating Systems and Utility Programs.
COMPONENTS OF INFORMATION TECHNOLOGY COMPONENTS OF A COMPUTER SYSTEM
Chapter 3: Software Explain the difference between systems software and application software
PARTS OF A COMPUTER 2 Hardware Computer Hardware is any of the physical parts of the computer you can touch. There are 4 categories: 1. Input Devices.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 6A Operating System Basics PART I.
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
GCSE Computing: A451 Computer Systems & Programming Topic 3 Software System Software (1) The Operating System.
Computer Parts There are many parts that work together to make a computer work.
Quick Overview.  Input Devices  Keyboard  Pointing Devices  Scanner  Digital Camera  Microphone  CD-ROM/DVD-ROM  Video Capture Card.
System Software (1) The Operating System
PCs ENVIRONMENT and PERIPHERALS Lecture 4. An expansion cards: - An expansion card (expansion board) is an electronic circuit board that adds more functionality.
OPERATING SYSTEMS DO YOU REQUIRE AN OPERATING SYSTEM IN YOUR SYSTEM?
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Overview of today’s lecture Major components of an operating system Structure and internal architecture of an operating system Monolithic Vs Micro-kernels.
Five Components of a Computer Input Device – keyboard, scanner, PDA/stylus, digital camera, mouse, MP3 player, fax machine, microphone Storage Device –
Computer System Structures
Topic 2: Hardware and Software
Operating System & Application Software
Chapter Objectives In this chapter, you will learn:
Operating System Review
Information Technology
Operating System Structure
Operating System Structure
Introduction to Computers
What is an Operating System?
CONFIGURING HARDWARE DEVICE & START UP PROCESS
Operating System Review
Introduction to BIOS Prof. Shamim Ahmad Hakim
Presentation transcript:

Device Drivers

Definition In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device. A device driver simplifies programming by acting as translator between a hardware device and the applications or operating system that use it. Programmers can write the higher-level application code independently of whatever specific hardware device.

Why Do We Need Device Drivers? In the early days of computers, programmers wrote programs that worked directly at the hardware level. If the program needed to access information from an external piece of machinery such as a card reader for instance, the program had to deal directly with that card reader in a highly detailed way. The same program might not work with a different card reader, even when running on the same type of computer, meaning that the program would have to be rewritten. Obviously, this caused a lot of duplication of programming effort, resulting in higher cost software and non-portable programs.

Functions A device driver processes the request of an application and then sends the instruction to the hardware device to produce the output. This is how the display information is sent from the operating system to the display or monitor. A device driver typically has a configuration interface that can be accessed so that the user can make adjustments to the hardware device.

Design Device drivers can be abstracted into logical and physical layers. Logical layers process data for a class of devices such as Ethernet ports or disk drives. Physical layers communicate with specific device instances. For example, a serial ports needs to handle standard communication protocols such as XON/OFF that are common for all serial port hardware. This would be managed by a serial port logical layer. However, the physical layer needs to communicate with a particular serial port chip. 

The Structure Of A Device Driver A device driver by its nature has a very rigid structure. DOS must be able to work properly with any driver, so all drivers must follow an agreed upon design. Every driver is made up of three parts: the device header, the strategy routine, and the interrupt routine, and are everything that DOS needs to use the driver.

Development Writing a device driver requires an in-depth understanding of how the hardware and the software of a given platform function. Drivers 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.

Thus the task of writing drivers usually falls to software engineers who work for hardware-development companies. This is because they have better information than most outsiders about the design of their hardware. Moreover, it was traditionally considered in the hardware manufacturer's interest to guarantee that their clients can use their hardware in an optimum way.

File Types A device driver can have a file type of DLL or EXE depending on what type or program is being used. Many software programs that communicate with a device use a combination of DLL and EXE files in order for the device to function properly. An example of this would be a TV Tuner card. Software needs to be installed to display the video on the screen or send audio to the speakers.

Kernel-mode vs user-mode Device drivers, particularly on modern Windows platforms, can run in kernel-mode0 (Ring ) or in user-mode (Ring 3).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. On the other hand, user/kernel-mode transitions usually impose a considerable performance overhead, thereby prohibiting user mode-drivers for low latency and high throughput requirements.

Kernel space can be accessed by user module only through the use of system calls. End user programs like the UNIX shell or other GUI based applications are part of the user space. These applications interact with hardware through kernel supported functions.

Applications 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  Devices such as Hard Disk, CD-ROM and Floppy Disk buses (ATA, SATA, SCSI) Image Scanners Digital Cameras etc

Installation A device driver is typically installed when the installation CD for a new hardware device is used to run the setup program. The installation CD contains the device drivers as well as any additional software applications that are needed to use the new hardware device. A device driver will stay on the system until it is removed or uninstalled

Updating Device drivers can be updated on a system using a variety of methods. Typically, a device driver can be downloaded from the manufacturer if an update is available. Many times a manufacturer will update a device driver to add additional functionality or to fix a bug in the program. A device driver can also be updated by installing updates to the operating system or running the setup program from a device's installation CD.

Conflicts Sometimes a device driver can conflict with other components on a system. The Device Manager in Windows can be used to see if there is any sort of conflict with an installed device. Conflicts can usually be resolved by repairing corrupt files or removing a device and attempting to reinstall it on the system.

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, a Xen host.

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. Attempts by the guest operating system to access the hardware are routed to the virtual device driver in the host operating system as e.g. function calls. The virtual device driver can also send simulated processor-level events like interrupts into the virtual machine.

Thank You

Bibliography Wikipedia www.ehow.com www.bbc.org www.ezine.com