Sie sind auf Seite 1von 2

Concepts Systems Educational Services

602-603, The Pentagon, Shahu College Road,


Next to Pune-Satara Road, Near Panchami Hotel
Parvati. Pune - 411009.

Contact No. +91 20 2421 6888, +91-99606 38738

Linux Device Driver (LDD)

Course Objective
This course deals with the issues of developing drivers in the Linux environment, with a discussion of
broader operating systems issues for developers. The course covers the key issues in Linux device drivers.
Questions such as: how do I develop a character device, how do I debug a driver, how do I use task queues
are examined. Upon completion of this course, you will have the information and technical understanding of
how file systems work and device drivers developed in Linux environment

Course Contents

Linux Architecture Data: User To/From Kernel


Linux Architecture Overview Important functions for accessing user space
Security Issues Shared Memory
Version Numbering Kiobufs
License Terms
IOCTLs
An Introduction To Device Drivers
What is ioctl
The Role of the Device Driver Using ioctl commands to interact with a device
Splitting the Kernel Implementing IOCTL in drivers
Classes of Devices and Modules
Memory management
Building And Running Modules
The Real Story of kmalloc
Kernel Modules Versus Applications Memory allocation with kmalloc and kfree
Compiling and Loading Lookaside Caches
The Kernel Symbol Table get_free_page and Friends
Initialization and Shutdown vmalloc and Friends
Using Resources Boot-Time Allocation
Automatic and Manual Configuration Page-oriented memory allocation
Doing It in User Space Memory allocation in the virtual address space
The mmap() method.
Tracing and Debugging
printk for debugging JUDICIOUS USE OF DATA TYPES
Device information in /proc Use of Standard C Types
strace to track system calls
Assigning an Explicit Size to Data Items
ksyms and ksymoops
Interface-Specific Types
Debuggers, e.g., gdb, and kgdb
Other Portability Issues
Linked Lists
Character Devices
Classes of device files Block Device Read/Write
Major and minor numbers
Block vs Char Read/Write
Creating device files with mknod
Block Device Global Variables
Registering character device file
Request Handing
Listing character device driver methods
Creating a RAM Disk

© 2005 – 07 All Rights Reserved Concepts Systems Educational Services Page 1 Of 2


Concepts Systems Educational Services
602-603, The Pentagon, Shahu College Road,
Next to Pune-Satara Road, Near Panchami Hotel
Parvati. Pune - 411009.

Contact No. +91 20 2421 6888, +91-99606 38738

Spinlocks
The Kernel Lock
Blocking and Wait Queues
Disabling interrupts
Multi-tasking
Schedule()
Creating Virtual File System Driver
Wait Queues
Save sleeping Registering
Poll() Readdir Lookup Semantics
Organization of Code
Synchronization Adding entry into the proc file system
Race conditions
Understanding Linux Source Tree
Atomic access
Dead lock Physical Layout of Linux Kernel Source

Reference:
- Advance Linux Programming
Richard Stevens

- Advance Linux Programming


Code Sourcery LLC

Prerequisite:
Fluent C Programming
Algorithms & Data Structures
Sound Operating System Fundamentals
Familiarity with Linux environment

© 2005 – 07 All Rights Reserved Concepts Systems Educational Services Page 2 Of 2

Das könnte Ihnen auch gefallen