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
|
|