0% found this document useful (0 votes)
135 views2 pages

Linux Device Driver

This 7-day training course covers Linux device drivers and kernel internals. The objectives include module programming, various types of device drivers, interrupt handling, memory management, direct memory access, PCI, network and USB drivers. Prerequisites include experience in C programming, Linux system administration and shell scripting. The course covers these topics through lectures and code examples.

Uploaded by

Raj Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
135 views2 pages

Linux Device Driver

This 7-day training course covers Linux device drivers and kernel internals. The objectives include module programming, various types of device drivers, interrupt handling, memory management, direct memory access, PCI, network and USB drivers. Prerequisites include experience in C programming, Linux system administration and shell scripting. The course covers these topics through lectures and code examples.

Uploaded by

Raj Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Linux Device Drivers & Kernel Internals (DEC402)

Duration: 7 Days ( 40 Hours)


Course Code: DEC402

Objectives:

 Module Programming  Direct Memory Access


 Device Drivers  PCI Drivers
 Character Device Drivers  USB Drivers
 Interrupt Handling  Network Device Drivers
 Advanced File Operations  Introduction to Block Device Drivers
 Interacting With Devices  Debugging Techniques
 Other issues

Prerequisites:

 Experience in C programming
 Linux System Administration or equivalent UNIX or Linux workstation user skills for development
 Shell scripting in a UNIX or Linux environment
 Experience with text editors (vi, emacs)

DEC402 (+91) 944 501 7607


Linux Device Drivers & Kernel Internals

1. Module Programming 5. Interrupt Handling 10. PCI Drivers

 Kernel coding  Interrupt Context  Peripheral Component Interconnect


 Module programming  Handling Interrupts  PCI Configuration Space
 Module dependency  Interrupt Structures  PCI Driver Registration
 Module parameter passing  ISR Registration  Registering PCI Drivers
 System Context  Driver Probe Function
2. Character Device Drivers  Softirqs  Initializing PCI devices
 Deferred Activity: Tasklets  Releasing a PCI Device
 Device Drivers  Deferred Activity: Work Queues  Managing PCI Resources
 Device Driver Design  Custom Work Queues  Accessing Configuration Space
 Interacting with Character Device  Example: Keyboard, Mouse  Listing PCI Devices
Drivers
 Interacting with Block Device 11. Network Device Drivers
Drivers 6. Interacting With Devices
 Interacting with Network Interface  Networking
Cards  Device Interaction  Network Devices
 Device Nodes  Managing Exclusive Access  Network Device Callback Functions
 Character Device Drivers:  I/O Ports  Network Driver Initialization
Registration  I/O Memory Buffers  Network Driver Transmission Queue
 The Device Node Problem  Accessing I/O Memory Buffers  Control
 File Operations  Userspace Drivers  Network Statistics
 Defining File Operations  Socket Buffers (Packets)
 Registering File Operations  Socket Buffer API
 File I/O Conventions 7. Memory Management in Kernel  Transmission
 open  Reception
 close  Memory Initialization  Example Implementations
 read  Memory Management
 write  page allocators 12. Sysfs, procfs and Debugfs,
 lseek  slab allocator probing , notifications
 buddy allocator
3. Kerel Synchronization methods  fragment and cache  sysfs intro
 bootmem allocator  sysfs entry
 Source of concurrency  kmalloc and kfree  procfs intro
 Kernel Synchronization techquiques  vmalloc  procfs entry
 atomic operations  debugfs intro
 semapores 8. Direct Memory Access  debugfs entry
 mutex  probing techniques
 spin locks  Managing DMA  notifications techniques
 reach copy update  Initializing DMA
 memory barriers  Coherent Allocations 13. USB Drivers **
 etc  Streaming DMA Mappings
 The Universal Serial Bus
4. Advanced File Operations  USB Descriptors
9. Introduction to Block Device Drivers  USB Transfer Types
 IOCTLs  Linux USB Implementation
 IOCTL Conventions  Block Devices  USB Drivers
 Implementing IOCTLs  I/O Scheduling  USB Registration
 Lockless IOCTLs  Linux 2.6 Elevator Functions  Initializing USB Interfaces
 Sleeping  Block Device Driver  USB Class Drivers
 Wait Queues Implementation  USB Request Blocks
 Wait Queues  Block Device Registration  Using USB request blocks
 Variations on wait_event()  Block Device File Operations  Synchronous USB Requests
 Sleeping in System Calls  The gendisk structure  More information
 Multiplexed I/O  Request Queues
 Polling  Initialization Example
 Handling Requests

** If time permits or Extras

DEC402 (+91) 944 501 7607

You might also like