Email Us   Phone : 503-259-0312   
  Home    |    Instructor-led Training    |    Self-Paced Learning    |    Online Training     


Contact Us   -   Why Choose Wintrac   -   Clients    

Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
Business Analysis
Business Intelligence
Business Objects
Business Skills
C++ programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Datawarehousing
DB2
Desktop Application Software
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Microsoft technologies
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PowerBuilder
Professional Soft Skills Workshops
Project Management
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
Linux Device Drivers
Linux Training Overview

Fundamentally, a device driver implements the interface between a piece of peripheral hardware and the application. In a traditional unprotected, “flat” memory model system, a driver may be little more than a set of functions conforming to a well-defined API and statically linked into an executable image.

But in the context of a protected mode operating system such as Linux, device drivers take on added significance owing to the distinction between User space and Kernel space. This 3-day hands-on seminar provides an introduction to the wonderful world of programming in Kernel space. As such, it provides insights not only into device driver programming, but also into the philosophy and design strategies of the kernel itself.

Numerous programming exercises introduce the rich kernel API that offers a multitude of services to driver writers. You’ll learn how Linux handles asynchronous I/O in a way that is totally transparent to applications. You’ll examine the unique problems of debugging in Kernel space. Perhaps most important, you’ll see how much of a device driver involves interactions with the kernel that have nothing to do with accessing physical hardware.

Linux Training Course duration

3 Days

Linux Training Course outline

Brief review of basic Linux concepts
  • Protected mode memory management - user space vs. kernel space
  • File system and directory structure
  • Development environment
Introducing device drivers
  • What is a “device driver”?
  • Linux device classes and user space API
  • Kernel space driver API
  • Hooking a driver into the kernel
Kernel modules

Debugging kernel modules
  • printk
  • proc files
  • Tracing—strace, Linux trace toolkit
  • Debuggers—gdb, kdb, kgdb
Asynchronous I/O
  • Blocking vs. non-blocking operation
  • Invoking the driver from multiple processes reentrancy
Kernel memory management

Accessing real hardware
  • Using I/O Ports--“side effects”
  • A parallel port driver
  • Platform dependencies
Interrupt handling
  • How Linux handles interrupts
  • Implementing and installing an interrupt handler
  • Bottom halves -- work queues, and tasklets
Managing Time

Block drivers
  • Registering a block driver
  • Handling requests
  • Mounting and unmounting
Network drivers
  • Sockets
  • Network driver methods
  • NAPI

 
About us
Contact us
Careers at Wintrac
Our Clients
Why Wintrac


Register for a free training CD-ROM drawing
Refer a client or instructor and earn $$$


Wintrac Inc.
16523 SW McGwire Ct.
Beaverton OR 97007
 
© Wintrac, Inc. All rights reserved.                                                                               Site Map   |   Terms of Use   |   Privacy Policy