Home . Training Schedule . Linux Support . Mail Info . Locate us . FAQ 
 
 
Announcements

RH301: Red Hat Rapid Track Certification Course from starting 06 September 2010


RH442: Red Hat Enterprise System Monitoring & Performance Tuning, 20 September 2010


RHCE Exam - Bangalore - 24 September 2010


RHS429: Red Hat Enterprise SELinux Policy Administration, 25 September 2010


RHS333: Red Hat Enterprise Security:Network Services, 18 September 2010


RH423: Red Hat Enterprise Directory Services and Authentication, 11 September 2010, Weekend Batch

 

LLC106
Device Driver Programming
Course Duration : Four Days: 10 am - 5.30 pm Course Fee : Rs. 6,000/- (plus service tax)
Course Overview
LLC106: Device Driver Programming on Linux course takes an insight into the Linux kernel and the way it manages devices. In this course we will be looking at the services offered by the Linux Kernel for device drivers, and also look at how to program character, block and network devices.
Pre-Requisites
Considerable knowledge of Linux System Programming concepts like signals, processes, file operations, system calls and sockets or LLC104: Linux Internals & Programming Essentials Course.
Target Audience
This course is designed for C programmers who are familiar with Linux System Programming.
Course Outline
  • An introduction to device drivers
    - Role of the Device Drivers
    - Splitting the kernel
    - Classes of devices and modules
    - Kernel Architecture or Model
  • Module Basics
    -Introduction to Modules & Device Drivers
    - Modules Defined
    - Types of Modules in the kernel
    - Writing Your first kernel module
    - Module Related Commands
    - Kernel Module vs Applications
    - User space vs Kernel space
    - Statically linked vs Dynamically linked
    drivers/modules
    - Exporting symbols from modules
    - The kernel symbol table
    - Concurrency in the kernel
    - Module Parameters
    - Version dependency
    - Lab exercises
  • OS Services And Data Structures
    - Atomic functions, Bit Operations
    - Linked List, Memory barriers
    - Semaphores
    - Basic memory Management
    - Time intervals in the kernel
    - Delaying execution,Kernel timers
    - The proc file system
  • Character Device Drivers
    - Registering a character device driver
    - File operations
    - The file structure
    - devfs / lseek /ioctl
    - Blocking, non blocking and asynchronous
    operations
  • Hardware and Interrupt Handling
    - Using IO Ports
    - Installing and implementing an interrupt handler
    - Tasklets and Bottom halves
    - Task queues
  • Block Device Drivers
    - Handling requests
    - Ram Disk Driver
  • Network Drivers
    - The net_device structure in detail
    - Packet transmission
    - Packet reception
    - Simulating a network device
    - Exploring the rtl8139 network card


Download All Course Contents