SlideShare a Scribd company logo
GROUP 20
Operating Systems
NAMES STUDENT_NUMBER REG_NUMBER
NSEREKO KAYONGO JULIUS 2100714339 21/U/14339/PS
MUTUMBA ROBERT 2100711810 21/U/11810/EVE
AMANDA ANN KIRABO 2100704763 21/U/04763/PS
ALIDDEKI MULINDWA BRYAN 2100700663 21/U/0663
NANYONGA RAHMAH 2100711530 21/U/11530/PS
DEVICE DRIVERS
 A device driver is a specialized software that
operates a particular computer-connected device
offering a software interface to the hardware allows
operating systems and other computer applications
to access hardware functionalities.
 The hardware is linked to a computer
bus/communication subsystem via which device
drivers interact with the device. They are
hardware-dependent and operating-system-
specific (OS). They offer the interrupt processing
essential for any time-dependent asynchronous
hardware interface.
 A device driver’s primary objective is to allow computers
and network hardware components to interface and
interact with specific devices. They handle requests made
by the kernel concerning a particular type of device.
 Device drivers define messages and mechanisms through
which the computer’s operating system and applications
can access the device or make requests for the device.
They also handle device responses and messages for
delivery to the computer.
Device Drivers cont’d
Device Drivers cont’d
How do device drivers handle requests
 Device drivers receive requests for device
access and actions from the Operating
System and it’s active applications to their
respective hardware devices.
 Suppose a request comes to read block N. If
a driver is idle when the request arrives, it
starts carrying out the request immediately. If
the driver is already busy with some other
request, it places a new request in the queue
of the pending request.
Illustration
 Block N is called the block device and this devices
communicate with the driver by sending the entire blocks
of data. For example, hard disks.
TYPES OF DEVICE DRIVERS
1. Kernel device drivers
Kernel device drivers consist of some generic hardware loaded
with the operating system (OS) as part of the OS. They include
motherboards, processors, and BIOS. They are invoked and
loaded into the random-access memory (RAM) when required.
2. User-mode device drivers
User mode device drivers refer to device drivers that users may
trigger during a session. When using a system, users may have
their own external devices that they bring to use, such as
external plug-and-play devices. These devices also require
drivers to function. Users can write these drivers to the disk to
reduce strain on computer resources.
3. Character drivers
Character device drivers provide unstructured access to the
hardware. They transfer data to and from devices without using a
specific device address. They allow the reading or writing of one
byte at a time as a stream of sequential data.
4. Block drivers
Block device drivers provide structured access to the hardware.
They use file system block-sized buffers from a buffer cache
supplied by the kernel to perform I/O. A buffer cache is a memory
pool established by the kernel to store frequently accessed blocks
via block devices. The buffer cache reduces the amount of I/O
queries that need an I/O operation from the device.
5. Original equipment manufacturer (OEM) drivers
Device drivers can be categorized as generic or OEM-related.
Generic drivers refer to device drivers with their operating
software bundled into the OEM hardware. One can use
generic drivers with different brands of a particular device type.
For instance, Linux works with several generic drivers that
function without the need to install any other software
manually.
6. Virtual device drivers
Virtual device drivers operate in both virtualization and non-
virtualization environments. In virtualization environments,
these drivers are used to emulate the hardware of the host
device. They control or manage the resource hardware of the
host device to ensure that both the guest and host device run
as expected.
7. BIOS
The basic input output system (BIOS) is located in a ROM chip,
which ensures that BIOS will be available even when the hard
disk is formatted. It performs power-on self-tests (POST) that
are required during startup. The BIOS also provides drivers for
the basic hardware, such as keyboards and monitors, to ensure
that they interface with the operating system to function as
intended.
8. Motherboard drivers
Motherboard drivers exist within the operating system and
enable fundamental computer operations. These drivers
comprise applications that allow the keyboard and mouse’s
USB devices and I/O ports to work. Some motherboards have
drivers that support video and audio.
9. Open-source drivers
Open-source drivers refer to drivers that are released under a free
and open-source license. For instance, open-source graphic
drivers control the output to the display if the display is part of the
graphics hardware.
The source code for open-source drivers is available to everyone,
making software collaborations easier. They are more trustworthy
as people can check them for any malicious code.
Applications of Device Drivers
Accessing Storage Systems
 Computer storage systems allow users to store data and
make it available on demand. They include external and
internal devices such as USB flash drives, hard drives,
and network-attached storage. Drivers in storage
systems enable them to interact with the computer. This
ensures that the computer can access its internal or
external storage systems, query their information, and
allow data transfer
Applications of Device Drivers (ctd)
For Input and Output Devices
 The computer’s OS interacts with device drivers to
ensure its hardware functions as expected. Input devices
include mice and keyboards, while output devices
include display devices such as monitors. Keyboards,
mice, and monitors are categorized as plug-and-play
devices
Applications of Device Drivers (ctd)
Control and management of virtual machines
When a guest operating system works on a host, it makes function calls to virtual device
drivers to access the hardware. In addition, they imitate processor-level occurrences like
interrupts and transmit them to the virtual machine.
Applications of Device Drivers (ctd)
BIOS for booting and hardware support
The BIOS performs the POST to ensure that all devices
are correctly configured before the computer can resume
with the normal booting process. This is an essential part
of botting
Applications of Device Drivers (ctd)
Smooth functioning of peripherals (e.g., printers, keyboards)
The device drivers responsible for PnP (Plug and Play)
have eased attachment of computer peripherals onto the
computer ports.
This ensures that a device is configured as soon as it is
connected
Steps taken when developing device
drivers
1. Know about the hardware. The developer should
have an in-depth grasp about the platform’s
hardware. Read the device –datasheet to understand
relevant terms and definitions. You should know the
method through which data is transferred. You should
know the software of the device-drivers resides and
what bus interface does the hardware use to
communicate with the host.
 In case the primary device is a system on chip then
developers should know how the driver interacts with
its firmware and command protocols
Steps cont’d
2. Write driver code. In this step, developers are
expected to come up with the a working prototype of
the preferred hardware then they should start writing
the kernel mode driver.
 If the device is incorrectly designed the driver’s
running in the user mode may cause system crash
likewise if anything goes wrong with the drivers
working in highly privileged settings, operational
concerns may occur.
 Usually, the first functions that you develop for your
Device Driver are Load and Unload functions
which are invoked when the Operating System
Starts and Shuts down respectively.
Steps cont’d
3.Initialise the hardware. Once you are able to
detect your hardware, the next is to initialize your
hardware. The kind of initialization that is needed
may vary for each hardware. It may range from just
writing to a couple of device registers to all the way,
downloading a microcode onto the device, and
communicating using proprietary command protocol.
Steps cont’d
4. Control the hardware. The next step is controlling your hardware.
Until Step 3, the operation might be a one-time operation when the OS loads, Step
4 might be needed to be performed multiple times after the Operating System is up
and running. The developer must know whether the device will simply relay data
from one device to another, they should also consider whether the device will be
sending data continuously
Steps cont’d
5.Begin data communication with the hardware.
Several devices deal with some form of data be it
video, audio. Once the device is initialized, the
developer can send some stream of data as
required. The driver works a as pipeline between the
high level application and the low level hardware for
data transfer.
As noted in step 1 developer should know the
protocols of data communication.
Steps cont’d
6.Control data communication. In this step
developers need to control data transfer and manage
data communication in several situations. When
problems arise ,the peripheral devices shouldn’t
send the same error message.
7.Test it and debug it. At this point, your driver may
be ready for testing, since all the development is
done to ensure that is initialized and recognized.
Functional tests should be run to ensure that it works
as expected.
References
 https://www.javatpoint.com/device-driver-in-
operating-system
 spiceworks.com/tech/devops/articles/what-is-
device-driver/
 Advanced OS by Nsereko Julius Kayongo

More Related Content

What's hot

Computer - Hardware components
Computer -  Hardware componentsComputer -  Hardware components
Computer - Hardware components
Computer Science
 
Word 2016
Word 2016Word 2016
Word 2016
Bibhuti Behera
 
Computer lesson 7 files & folders
Computer lesson 7   files & foldersComputer lesson 7   files & folders
Computer lesson 7 files & folders
allsaintstech
 
Hardware and software
Hardware and softwareHardware and software
Hardware and software
Aditya Pathak
 
Defragmentation.46
Defragmentation.46Defragmentation.46
Defragmentation.46
myrajendra
 
Presentation Introduction to Windows
Presentation  Introduction to  WindowsPresentation  Introduction to  Windows
Presentation Introduction to Windows
MJ Ferdous
 
Computer software lecture
Computer software lecture Computer software lecture
Computer software lecture
Ehtashamulhaq17
 
File Management
File ManagementFile Management
File Management
Diane Coyle
 
Power Point Lesson 02
Power Point Lesson 02Power Point Lesson 02
Power Point Lesson 02
Nasir Jumani
 
Symantec Endpoint Protection
Symantec Endpoint ProtectionSymantec Endpoint Protection
Symantec Endpoint Protection
MindRiver Group
 
Chapter 1 — Introduction to Visual Basic 2010 Programming
Chapter 1 — Introduction to Visual Basic 2010 Programming Chapter 1 — Introduction to Visual Basic 2010 Programming
Chapter 1 — Introduction to Visual Basic 2010 Programming
francopw
 
Web Page Authoring 1
Web Page Authoring 1Web Page Authoring 1
Web Page Authoring 1
yht4ever
 
Internet basics
Internet basicsInternet basics
Internet basics
cetrosoft
 
System Event Logs
System Event LogsSystem Event Logs
System Event Logs
primeteacher32
 
ICT 101 LECTURE 3 - INTERNET AND E-MAIL.pptx
ICT 101 LECTURE 3 - INTERNET AND E-MAIL.pptxICT 101 LECTURE 3 - INTERNET AND E-MAIL.pptx
ICT 101 LECTURE 3 - INTERNET AND E-MAIL.pptx
mbombongafu
 
Software and hardware overview
Software and hardware overviewSoftware and hardware overview
Software and hardware overview
ChristianEmard
 
Computer basics
Computer basicsComputer basics
Computer basics
JEEVA ARAVINTH
 
Defragmentation
DefragmentationDefragmentation
Defragmentation
Rohit Rajput
 
Internet
InternetInternet
Internet
Larkha Flores
 
Computer Basics
Computer BasicsComputer Basics
Computer Basics
DigitalLifeAdvisor.com
 

What's hot (20)

Computer - Hardware components
Computer -  Hardware componentsComputer -  Hardware components
Computer - Hardware components
 
Word 2016
Word 2016Word 2016
Word 2016
 
Computer lesson 7 files & folders
Computer lesson 7   files & foldersComputer lesson 7   files & folders
Computer lesson 7 files & folders
 
Hardware and software
Hardware and softwareHardware and software
Hardware and software
 
Defragmentation.46
Defragmentation.46Defragmentation.46
Defragmentation.46
 
Presentation Introduction to Windows
Presentation  Introduction to  WindowsPresentation  Introduction to  Windows
Presentation Introduction to Windows
 
Computer software lecture
Computer software lecture Computer software lecture
Computer software lecture
 
File Management
File ManagementFile Management
File Management
 
Power Point Lesson 02
Power Point Lesson 02Power Point Lesson 02
Power Point Lesson 02
 
Symantec Endpoint Protection
Symantec Endpoint ProtectionSymantec Endpoint Protection
Symantec Endpoint Protection
 
Chapter 1 — Introduction to Visual Basic 2010 Programming
Chapter 1 — Introduction to Visual Basic 2010 Programming Chapter 1 — Introduction to Visual Basic 2010 Programming
Chapter 1 — Introduction to Visual Basic 2010 Programming
 
Web Page Authoring 1
Web Page Authoring 1Web Page Authoring 1
Web Page Authoring 1
 
Internet basics
Internet basicsInternet basics
Internet basics
 
System Event Logs
System Event LogsSystem Event Logs
System Event Logs
 
ICT 101 LECTURE 3 - INTERNET AND E-MAIL.pptx
ICT 101 LECTURE 3 - INTERNET AND E-MAIL.pptxICT 101 LECTURE 3 - INTERNET AND E-MAIL.pptx
ICT 101 LECTURE 3 - INTERNET AND E-MAIL.pptx
 
Software and hardware overview
Software and hardware overviewSoftware and hardware overview
Software and hardware overview
 
Computer basics
Computer basicsComputer basics
Computer basics
 
Defragmentation
DefragmentationDefragmentation
Defragmentation
 
Internet
InternetInternet
Internet
 
Computer Basics
Computer BasicsComputer Basics
Computer Basics
 

Similar to Device drivers and their applications

An IO sub system comprises of IO devices and their corresponding d.pdf
An IO sub system comprises of IO devices and their corresponding d.pdfAn IO sub system comprises of IO devices and their corresponding d.pdf
An IO sub system comprises of IO devices and their corresponding d.pdf
sooryasalini
 
Software and hardware PPT1.pptx
Software and hardware PPT1.pptxSoftware and hardware PPT1.pptx
Software and hardware PPT1.pptx
devnamu
 
Device drivers by prabu m
Device drivers by prabu mDevice drivers by prabu m
Device drivers by prabu m
Prabu Mariyappan
 
Operating System Case Study and I/O System
Operating System Case Study and I/O SystemOperating System Case Study and I/O System
Operating System Case Study and I/O System
prakash ganesan
 
Computer Hardware and Networking Tutorial for beginners
Computer Hardware and Networking Tutorial for beginnersComputer Hardware and Networking Tutorial for beginners
Computer Hardware and Networking Tutorial for beginners
MohammedRizwanSharie
 
System Software
System SoftwareSystem Software
System Software
NaqashAhmad14
 
IO SYSTEM AND CASE STUDY STRUCTURE
IO SYSTEM AND CASE STUDY STRUCTUREIO SYSTEM AND CASE STUDY STRUCTURE
IO SYSTEM AND CASE STUDY STRUCTURE
Hariharan Anand
 
Clifford sugerman
Clifford sugermanClifford sugerman
Clifford sugerman
clifford sugerman
 
Difference Between Software and hardware
Difference Between Software and hardwareDifference Between Software and hardware
Difference Between Software and hardware
Zeeshan Ilyas
 
Computer networks note 3
Computer networks note 3Computer networks note 3
Computer networks note 3
MDHASNAIN23
 
unit 5.pptx
unit 5.pptxunit 5.pptx
unit 5.pptx
ssuser593a2d
 
Day 2 hardware & software
Day 2 hardware & softwareDay 2 hardware & software
Day 2 hardware & software
mn_maps
 
L-3 BCE OS FINAL.ppt
L-3 BCE OS FINAL.pptL-3 BCE OS FINAL.ppt
L-3 BCE OS FINAL.ppt
Kirti Verma
 
Linux io
Linux ioLinux io
Linux io
Sagar Janagonda
 
Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
Noor Zada
 
Operating systems
Operating systemsOperating systems
Operating systems
Rana Usman Sattar
 
Types and components of computer systems
Types and components of computer systemsTypes and components of computer systems
Types and components of computer systems
Rayane619450
 
Hardware software
Hardware softwareHardware software
Hardware software
Saheli Aich
 
Information sheet 1
Information sheet 1Information sheet 1
Information sheet 1
Manolita Salagunting
 
Basic operating systems in computer and it's uses
Basic operating systems in computer and it's usesBasic operating systems in computer and it's uses
Basic operating systems in computer and it's uses
Surya Vishnuram
 

Similar to Device drivers and their applications (20)

An IO sub system comprises of IO devices and their corresponding d.pdf
An IO sub system comprises of IO devices and their corresponding d.pdfAn IO sub system comprises of IO devices and their corresponding d.pdf
An IO sub system comprises of IO devices and their corresponding d.pdf
 
Software and hardware PPT1.pptx
Software and hardware PPT1.pptxSoftware and hardware PPT1.pptx
Software and hardware PPT1.pptx
 
Device drivers by prabu m
Device drivers by prabu mDevice drivers by prabu m
Device drivers by prabu m
 
Operating System Case Study and I/O System
Operating System Case Study and I/O SystemOperating System Case Study and I/O System
Operating System Case Study and I/O System
 
Computer Hardware and Networking Tutorial for beginners
Computer Hardware and Networking Tutorial for beginnersComputer Hardware and Networking Tutorial for beginners
Computer Hardware and Networking Tutorial for beginners
 
System Software
System SoftwareSystem Software
System Software
 
IO SYSTEM AND CASE STUDY STRUCTURE
IO SYSTEM AND CASE STUDY STRUCTUREIO SYSTEM AND CASE STUDY STRUCTURE
IO SYSTEM AND CASE STUDY STRUCTURE
 
Clifford sugerman
Clifford sugermanClifford sugerman
Clifford sugerman
 
Difference Between Software and hardware
Difference Between Software and hardwareDifference Between Software and hardware
Difference Between Software and hardware
 
Computer networks note 3
Computer networks note 3Computer networks note 3
Computer networks note 3
 
unit 5.pptx
unit 5.pptxunit 5.pptx
unit 5.pptx
 
Day 2 hardware & software
Day 2 hardware & softwareDay 2 hardware & software
Day 2 hardware & software
 
L-3 BCE OS FINAL.ppt
L-3 BCE OS FINAL.pptL-3 BCE OS FINAL.ppt
L-3 BCE OS FINAL.ppt
 
Linux io
Linux ioLinux io
Linux io
 
Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
 
Operating systems
Operating systemsOperating systems
Operating systems
 
Types and components of computer systems
Types and components of computer systemsTypes and components of computer systems
Types and components of computer systems
 
Hardware software
Hardware softwareHardware software
Hardware software
 
Information sheet 1
Information sheet 1Information sheet 1
Information sheet 1
 
Basic operating systems in computer and it's uses
Basic operating systems in computer and it's usesBasic operating systems in computer and it's uses
Basic operating systems in computer and it's uses
 

Recently uploaded

Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 

Recently uploaded (20)

Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 

Device drivers and their applications

  • 1. GROUP 20 Operating Systems NAMES STUDENT_NUMBER REG_NUMBER NSEREKO KAYONGO JULIUS 2100714339 21/U/14339/PS MUTUMBA ROBERT 2100711810 21/U/11810/EVE AMANDA ANN KIRABO 2100704763 21/U/04763/PS ALIDDEKI MULINDWA BRYAN 2100700663 21/U/0663 NANYONGA RAHMAH 2100711530 21/U/11530/PS
  • 2. DEVICE DRIVERS  A device driver is a specialized software that operates a particular computer-connected device offering a software interface to the hardware allows operating systems and other computer applications to access hardware functionalities.  The hardware is linked to a computer bus/communication subsystem via which device drivers interact with the device. They are hardware-dependent and operating-system- specific (OS). They offer the interrupt processing essential for any time-dependent asynchronous hardware interface.
  • 3.  A device driver’s primary objective is to allow computers and network hardware components to interface and interact with specific devices. They handle requests made by the kernel concerning a particular type of device.  Device drivers define messages and mechanisms through which the computer’s operating system and applications can access the device or make requests for the device. They also handle device responses and messages for delivery to the computer. Device Drivers cont’d
  • 5. How do device drivers handle requests  Device drivers receive requests for device access and actions from the Operating System and it’s active applications to their respective hardware devices.  Suppose a request comes to read block N. If a driver is idle when the request arrives, it starts carrying out the request immediately. If the driver is already busy with some other request, it places a new request in the queue of the pending request.
  • 6. Illustration  Block N is called the block device and this devices communicate with the driver by sending the entire blocks of data. For example, hard disks.
  • 7. TYPES OF DEVICE DRIVERS 1. Kernel device drivers Kernel device drivers consist of some generic hardware loaded with the operating system (OS) as part of the OS. They include motherboards, processors, and BIOS. They are invoked and loaded into the random-access memory (RAM) when required. 2. User-mode device drivers User mode device drivers refer to device drivers that users may trigger during a session. When using a system, users may have their own external devices that they bring to use, such as external plug-and-play devices. These devices also require drivers to function. Users can write these drivers to the disk to reduce strain on computer resources.
  • 8. 3. Character drivers Character device drivers provide unstructured access to the hardware. They transfer data to and from devices without using a specific device address. They allow the reading or writing of one byte at a time as a stream of sequential data. 4. Block drivers Block device drivers provide structured access to the hardware. They use file system block-sized buffers from a buffer cache supplied by the kernel to perform I/O. A buffer cache is a memory pool established by the kernel to store frequently accessed blocks via block devices. The buffer cache reduces the amount of I/O queries that need an I/O operation from the device.
  • 9. 5. Original equipment manufacturer (OEM) drivers Device drivers can be categorized as generic or OEM-related. Generic drivers refer to device drivers with their operating software bundled into the OEM hardware. One can use generic drivers with different brands of a particular device type. For instance, Linux works with several generic drivers that function without the need to install any other software manually. 6. Virtual device drivers Virtual device drivers operate in both virtualization and non- virtualization environments. In virtualization environments, these drivers are used to emulate the hardware of the host device. They control or manage the resource hardware of the host device to ensure that both the guest and host device run as expected.
  • 10. 7. BIOS The basic input output system (BIOS) is located in a ROM chip, which ensures that BIOS will be available even when the hard disk is formatted. It performs power-on self-tests (POST) that are required during startup. The BIOS also provides drivers for the basic hardware, such as keyboards and monitors, to ensure that they interface with the operating system to function as intended. 8. Motherboard drivers Motherboard drivers exist within the operating system and enable fundamental computer operations. These drivers comprise applications that allow the keyboard and mouse’s USB devices and I/O ports to work. Some motherboards have drivers that support video and audio.
  • 11. 9. Open-source drivers Open-source drivers refer to drivers that are released under a free and open-source license. For instance, open-source graphic drivers control the output to the display if the display is part of the graphics hardware. The source code for open-source drivers is available to everyone, making software collaborations easier. They are more trustworthy as people can check them for any malicious code.
  • 12. Applications of Device Drivers Accessing Storage Systems  Computer storage systems allow users to store data and make it available on demand. They include external and internal devices such as USB flash drives, hard drives, and network-attached storage. Drivers in storage systems enable them to interact with the computer. This ensures that the computer can access its internal or external storage systems, query their information, and allow data transfer
  • 13. Applications of Device Drivers (ctd) For Input and Output Devices  The computer’s OS interacts with device drivers to ensure its hardware functions as expected. Input devices include mice and keyboards, while output devices include display devices such as monitors. Keyboards, mice, and monitors are categorized as plug-and-play devices
  • 14. Applications of Device Drivers (ctd) Control and management of virtual machines When a guest operating system works on a host, it makes function calls to virtual device drivers to access the hardware. In addition, they imitate processor-level occurrences like interrupts and transmit them to the virtual machine.
  • 15. Applications of Device Drivers (ctd) BIOS for booting and hardware support The BIOS performs the POST to ensure that all devices are correctly configured before the computer can resume with the normal booting process. This is an essential part of botting
  • 16. Applications of Device Drivers (ctd) Smooth functioning of peripherals (e.g., printers, keyboards) The device drivers responsible for PnP (Plug and Play) have eased attachment of computer peripherals onto the computer ports. This ensures that a device is configured as soon as it is connected
  • 17. Steps taken when developing device drivers 1. Know about the hardware. The developer should have an in-depth grasp about the platform’s hardware. Read the device –datasheet to understand relevant terms and definitions. You should know the method through which data is transferred. You should know the software of the device-drivers resides and what bus interface does the hardware use to communicate with the host.  In case the primary device is a system on chip then developers should know how the driver interacts with its firmware and command protocols
  • 18. Steps cont’d 2. Write driver code. In this step, developers are expected to come up with the a working prototype of the preferred hardware then they should start writing the kernel mode driver.  If the device is incorrectly designed the driver’s running in the user mode may cause system crash likewise if anything goes wrong with the drivers working in highly privileged settings, operational concerns may occur.  Usually, the first functions that you develop for your Device Driver are Load and Unload functions which are invoked when the Operating System Starts and Shuts down respectively.
  • 19. Steps cont’d 3.Initialise the hardware. Once you are able to detect your hardware, the next is to initialize your hardware. The kind of initialization that is needed may vary for each hardware. It may range from just writing to a couple of device registers to all the way, downloading a microcode onto the device, and communicating using proprietary command protocol.
  • 20. Steps cont’d 4. Control the hardware. The next step is controlling your hardware. Until Step 3, the operation might be a one-time operation when the OS loads, Step 4 might be needed to be performed multiple times after the Operating System is up and running. The developer must know whether the device will simply relay data from one device to another, they should also consider whether the device will be sending data continuously
  • 21. Steps cont’d 5.Begin data communication with the hardware. Several devices deal with some form of data be it video, audio. Once the device is initialized, the developer can send some stream of data as required. The driver works a as pipeline between the high level application and the low level hardware for data transfer. As noted in step 1 developer should know the protocols of data communication.
  • 22. Steps cont’d 6.Control data communication. In this step developers need to control data transfer and manage data communication in several situations. When problems arise ,the peripheral devices shouldn’t send the same error message. 7.Test it and debug it. At this point, your driver may be ready for testing, since all the development is done to ensure that is initialized and recognized. Functional tests should be run to ensure that it works as expected.