IT Training From

1-877-546-4446

  • Refer A Friend and Save Up to $300. Your Friends Save $250. Contact Customer Service for details.

Linux Device Drivers: Programming at the Kernel Level

Experience the Freedom of eLearning

Start Video Training with Linux Device Drivers: Programming at the Kernel Level Today
  • Expert Instructors - Learn from consultants with decades of experience
  • On-demand Video Lectures - 100% identical to the classroom course
  • Classroom Materials Included - Student Guide and Exercises
  • Train 24/7 for 1 Year - Become a Knowledge Leader with GogoTraining
Free Course Video What's Included? Ready to Purchase?
  • 5 hrs 32 mins of Video Training
  • 365 Day Access
  • Course Materials & Transcript
  • Expert Instructor Doug Abbott
  • Buy this course - $697 Buy Linux Device Drivers: Programming at the Kernel Level Now
  • Need more than one course? More Info about Linux Device Drivers: Programming at the Kernel Level
  • Have a group to train? More Info about Linux Device Drivers: Programming at the Kernel Level
  • Need classroom training? More Info about Linux Device Drivers: Programming at the Kernel Level

1-877-546-4446

View Your Course Transcript

Videos

There are several great features that come with this course. The Course Transcript tracks your progress and allows you to pick up where you left off. You can view or email your transcript. The course comes with documentation found in Downloads Tab. You have access to the course and all videos for 1 year. Full screen viewing option available (see icon on bottom right corner of video).

Start Learning Linux Device Drivers: Programming at the Kernel Level Today!

Your Price: $697 Buy Linux Device Drivers: Programming at the Kernel Level Now

Video Title Minutes
00: Course Introduction 5
01: So What is a Device Driver? 21
02: Kernel Loadable Modules 17
03: Basic Character Driver 17
04: Debugging Kernel Code 18
05: Blocking I/O 18
06: Accessing Hardware 18
07: Handling Interrupts 22
08: Memory Allocation 15
09: Time 27
10: Block Drivers 20
11: Network Drivers 29
12: PCI Drivers 23
13: USB Drivers 26
14: Linux Driver Model 15
15: Integrating a Driver With The Kernel Source Tree 35
16: Course Summary & Evaluation 6
Total: 5 hours 32 minutes

Start Learning Linux Device Drivers: Programming at the Kernel Level Today!

Your Price: $697 Buy Linux Device Drivers: Programming at the Kernel Level Now

Course Materials

Want to be able to access these helpful materials? Contact Us!

  • Student Guide
  • Lab Setup Guide
  • Exercise Guide
  • Exercise Code Files

Related Links

  • Course Survey

For more information, contact us or call 1-877-546-4446

Start Learning Linux Device Drivers: Programming at the Kernel Level Today!

List Price: $995 Your Price: $697 Buy Linux Device Drivers: Programming at the Kernel Level Now

Description

This Linux online training course introduces Linux device drivers and shows how they interact with the Linux kernel. Numerous programming exercises reveal the rich set of kernel APIs that provide a multitude of services to driver programmers. This training teaches you 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. Although the exercises are carried out on a PC, much of the code is easily ported to other architectures supported by Linux.

Objectives

As a result of taking this Linux device driver course, you will be able to:

  • Describe the four types of devices and their properties
  • Design, program, and debug kernel loadable modules

Related Training

For more information, contact us or call 1-877-546-4446

Start Learning Linux Device Drivers: Programming at the Kernel Level Today!

List Price: $995 Your Price: $697 Buy Linux Device Drivers: Programming at the Kernel Level Now

Linux Device Drivers: Programming at the Kernel Level Outline

Module 00: Linux Device Drivers: Programming at the Kernel Level Online Training - Course Introduction

Module 01: So What's a Device Driver?

  • Why device drivers
  • User space I/O APIs
  • Four types of devices
  • The /dev directory

Module 02: Kernel Loadable Modules

  • What is a kernel loadable module?
  • Module utilities
  • A module example
  • Kernel modules and the GPL

Module 03: Basic Character Driver

  • Registering and initializing a driver
  • The file operations table, fops
  • Driver example
  • Mutual exclusion, the semaphore

Module 04: Debugging Kernel Code

  • printk()
  • strace
  • The /proc file system
  • ioctl()
  • kgdb

Module 05: Blocking I/O

  • The wait queue
  • Putting a process to sleep
  • Blocking example
  • The seq file interface
  • Poll and select
  • Asynchronous notification

Module 06: Accessing Hardware

  • Side effects and compiler optimization
  • I/O APIs
  • The hardware
  • Driver example
  • Barriers
  • Accessing hardware from User Space

Module 07: Handling Interrupts

  • Interrupt context
  • Registering an interrupt handler, the IRQ flags
  • Interrupt example
  • Probing for the interrupt source
  • The bottom half - tasklets and workqueues

Module 08: Memory Allocation

  • kmalloc() and kfree()
  • kmalloc() flags
  • get_free_pages()
  • vmalloc()

Module 09: Time

  • jiffies
  • Implementing time delays - example
  • Timers
  • Current time

Module 10: Block Drivers

  • The block subsystem
  • Device registration
  • The request queue and function
  • Block driver example

Module 11: Network Drivers

  • Device registration
  • The socket buffer
  • Driver example - "snull"
  • NAPI - the "new" API

Module 12: PCI Drivers

  • PCI addressing and bridging
  • Accessing configuration space
  • PCI data structures and macros
  • modules.pcimap
  • Sample PCI driver

Module 13: USB Drivers

  • USB structure and characteristics
  • Device classes
  • USB data structures and macros
  • USB Request Block, URB
  • Sample USB driver

Module 14: Linux Driver Model

  • Power Management and Shutdown
  • User Space Communication
  • Hot Pug
  • Device Classes

Module 15: Integrating a Driver with the Kernel Source Tree

  • Configuring and building the kernel
  • The config. file
  • Source code mods
  • Kconfig files

Module 16: Linux Device Drivers: Programming at the Kernel Level Online Training - Course Summary

For more information, contact us or call 1-877-546-4446

Start Learning Linux Device Drivers: Programming at the Kernel Level Today!

List Price: $995 Your Price: $697 Buy Linux Device Drivers: Programming at the Kernel Level Now

Prerequisites

You need to have equivalent experience or have taken the following GogoTraining courses:

For more information, contact us or call 1-877-546-4446

Start Learning Linux Device Drivers: Programming at the Kernel Level Today!

List Price: $995 Your Price: $697 Buy Linux Device Drivers: Programming at the Kernel Level Now

System Requirements

Hardware:

  • Linux machine with native parallel port
  • For some exercises you will need a standard 25-pin parallet port

Software:

  • Current distribution software such as Fedora 11 or 12
  • GNU compiler collection for the x86.  This package is called gcc.
  • Kernal headers and makefiles sufficient to build kernel loadable modules.  This package is call kernel-devel.

For more information, contact us or call 1-877-546-4446

Start Learning Linux Device Drivers: Programming at the Kernel Level Today!

List Price: $995 Your Price: $697 Buy Linux Device Drivers: Programming at the Kernel Level Now

When you purchase a course from GogoTraining, you can submit comments or questions to our expert instructors.

Please Login or Register to view all free content.

When you purchase a course from GogoTraining you can track your progress, and print or email your transcript.

We show that you have been logged out, probably due to automatic session limits. Please Login to continue viewing content.